Найти тему
Hello, IT world!

Сколько строк пишет программист?

Мой учитель говорил: 10 строк в день — это отлично производительность. Бывало и так, что одна точно написанная команда стоила целого дня работы, однако какой же показатель можно считать средним? Приведу немного своей статистики.

Сразу оговорюсь — разбег будет большой, потому что в определённых технологиях каждая команда вымучивается по несколько часов, а в других можно использовать кодогенераторы и писать код по подобию. В моём случае будет скорее меньше строк, чем больше — особенность профиля.

Я приведу несколько проектов, каждый из которых потребовал как минимум год разработки, ну и конечно все оценки будут основаны на моём опыте и личном мнении. Для большей репрезентативности добавлю два показателя: сложность написания кода и объёмность функциональной единицы. Чем тяжелее даётся каждая строка и чем больше тестирований и правок будет требоваться, тем выше сложность. Аналогично чем больше кода нужно написать, чтобы добавить новую функцию, тем выше объёмность.

Модуль физического моделирования

Один из моих любимых проектов, хотя и очень непростой в реализации. Внутри много математики и физики, что требует сложного кода и заметного количества несработавших идей. Первая версия модуля была написана на месяц, а затем ещё несколько лет развивалась и наращивалась для решения поставленной задачи.

Сложность: высокая

Объемность: высокая

Язык программирования: c++

Производительность: 6067 строк в месяц

Математический движок

Серия расчётных алгоритмов, которые не так сложно писать, хотя сами операции бывают неочевидными. Зато код компактный и легко читается.

Сложность: средняя

Объемность: низкая

Язык программирования: c++, wolfram

Производительность: 468 строк в месяц

Менеджер задач

Требовался для специфического оборудования, поэтому написание кода было усложнено требованиями платформы. За пределами этого достаточно типовая задача.

Сложность: высокая

Объемность: средняя

Язык программирования: python, bash

Производительность: 593 строки в месяц

Библиотека скриптов

Предназначена для автоматизирования того, что делали вручную при обработке серверных данных. Простая задача, так как все процедуры уже выверены и достаточно было их обобщить для более универсального использования плюс дополнить документацией.

Сложность: низкая

Объемность: низкая

Язык программирования: python

Производительность: 1310 строк в месяц

ПростоТест

Это платформа тестирования, предназначенная для автоматизированной обработки результатов социально-психологических исследований. Для участников всё выглядит как обычные тесты, зато для исследователя раскрывается множество графиков и таблиц с мгновенно обновляемыми результатами. В отличие от остальных проектов этот — публично доступный, вы можете почитать о нём на сайте Третьей природы (https://3priroda.ru/pt/). Больше всего усилий требует грамотная обработка данных, что приводит к высокой объёмности кода, сами же алгоритмы при этом умеренные по сложности и достаточно типичны для статистических систем.

Сложность: средняя

Объемность: высокая

Язык программирования: js, php

Производительность: 6575 строк в месяц

Сервис интеграции

Тоже достаточно типичная задача — породнить несколько устройств между собой. Пишется несложно, главное заранее продумать архитектуру и протокол обмена.

Сложность: низкая

Объемность: низкая

Язык программирования: python

Производительность: 3234 строк в месяц

Заключение

Получается, что в среднем массивные проекты требовали от меня от 100 до 300 строк в день, что в действительности невысокий показатель. Здесь стоит оговориться, что обычно я занимаюсь нетиповыми задачами, где нет быстрых ответов и готовых решений, а также большую часть времени трачу на проработку архитектуры, работу с документами, обучение сотрудников и прочие вещи, которые не связаны с непосредственным написанием кода. С другой стороны, подобное будет справедливо для многих из разработчиков, так что некоторую оценку мы всё же получили. Если вы готовы писать по 10–15 строк кода в час, то можете стать весьма успешным программист!

Друзья, обязательно подпишитесь на мой канал, оставляйте комментарии и делитесь своим мнением. Расскажите, что из мира IT хотели бы узнать. А также заходите на мой сайт https://helloIT.world/ — там вас ждут интересные курсы и бесплатные вебинары.