Продолжаем тему строк кода (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ами и продуктивностью. 😊
Оставить комментарий/отзыв