Продолжаем тему строк кода (LOC) и продуктивности программиста
В посте выше я рассказал, что в ERP-проектах программист в среднем пишет от 10 до 20 строк кода в день (хотя не все с этим согласились). Теперь посмотрим, что это значит — на реальных примерах.
Возьмем одну из последних версий 1С:ERP:
Всего программных модулей: 23 789
Всего строк: 19 581 401
Пустых строк: 4 623 268 (23,61%)
Комментарии, препроцессор, аннотации: 1 846 502 (9,43%)
Собственно, кода: 13 111 631 (66,96%)
Прикинем стоимость такой разработки по верхней планке производительности — 20 строк в день. Получается 655 582 человеко-дней, или около 29 800 человеко-месяцев.
При средней зарплате, скажем, в 200 тысяч рублей, это около 6 млрд рублей (~70 млн долларов).
ERP разрабатывается примерно 15 лет, значит, над проектом работает порядка 166 человек.
Если учесть, что код 1С: ERP — это в значительной части почти вся линейка основных конфигураций 1С, звучит, на мой взгляд, вполне реалистично. Может, кто-то владеет внутрянкой 1С, расскажите, похожи эти цифры на правду?
Перейдем к моим проектам:
В «Шаблонах» 5248 строк кода. Общая трудоемкость — с учетом всех версий, исправлений и поддержки — равна примерно 3 месяцам. Получается около 80 строк в день.
В другом проекте — «Оформляторе» — сейчас 5486 моих строк. Время особо не отслеживаю, но вряд ли потратил больше 2 месяцев — это 120 строк в день. Тут я, кстати, активно использую ИИ.
А вот недавняя задача (про разработку ТЗ рассказывал здесь) вылилась в 1500 строк кода за 3 недели. Получается около 100 строк в день.
Что ж, чем проще проект, тем выше эффективность. Логично? Вроде бы, да. И в оценки Макконнелла укладывается (они в этой статье).
Может, кому-то захотелось посчитать свою статистику? Обработка, пробегающая по модулям в XML-выгрузке, ждет вас в первом комментарии. Если ваш проект разрабатывается «по уму», в GIT, то есть также решение Никиты Арипова. Но оно, как я понял, считает не срез на сегодня, а по коммитам.
Делитесь своими проектами и показателями в комментариях! Померяемся... LOCами и продуктивностью. 😊