Комментарии 19
Тут в чём загвоздка :)
Нельзя начать писать хороший код, даже если ты прочитал 100 книг о том, как это делать. Единственный пока что рабочий способ, который я наблюдаю и сам через него прошёл: написать кучу плохого кода и наступить на грабли.
Поэтому программист, в зависимости от этапа карьеры, может как много писать, так и много читать :) Я вот за последнюю неделю, так совпало, сам написал примерно 4 строчки кода (за исключением предложений в кодревью и совместного кодинга на собеседовании с кандидатом).
Остальное мое взаимодействие с кодом было на уровне кодревью, а также анализа багов, которые нужно исправить с последующей раздачей поручений по исправлению. Но кто-то ведь потом этот код с исправлениями пишет. Какой-то другой программист.
Мне, кстати, очень понравилась мысль создателя Scala Мартина Одерски. В одном из выступлений он сказал, что никогда не пишет реально хороший код с первого раза - проще написать плохой и затем его постепенно улучшать. Тут стоит отметить, что такой прием прокатывает, если плохой код не пишется более 2-3 недель, в противном случае затем рефакторить и улучшать его становится крайне нетривиальной задачей.
Эта методика ещё в книге Вирта описана и упомянута Бруксом в его "Человеко-месяце".
Это весьма естественный подход. То же самое делает скульптор. Сначала появляется контур фигуры, затем, итерация за итерацией, фигура детализируется.
С программой то же самое: сначала - "оно работает", потом начинаем покрывать код проверками, бить на функции, модули и т.д.
Написать с первой попытки законченную версию программы возможно только при числе строк кода, стремящемся к нулю, но я даже тут не уверен.
Эхх, где мои 24 года, когда писалось около 500 до 1000 строк кода (да, новый функционал) на Турбо С, и при этом выдавалось в прод со второй компиляции.. Ностальжи ...
Теперь хорошо если сотня другая строк в день. Но да, согласен: если распределить написанное на все дни, когда сначала продумывается архитектура, наборы данных и алгоритмы .. то наверное и 50 строк не наберётся. А читать приходится очень много..
Быстрее всего эволюционируют электромонтажники. Каждый следующий на порядок умнее предыдущего и всегда спрашивает: "Какой идиот вам это делал?"
Программисты тоже быстро эволюционируют.
В книге Чистая архитектура в самом начале резко растущий график Cost per line of code over time
Вот сейчас начинаю сомневаться: это падение производительности по какой причине?
а) приходится переделывать зависимый код при добавлении новых фич
б) заказчики отменяют старые требования и выдвигают новые
в) программисты заняты на 3й линии поддержки и тратят время на поиск багов в коде
Когда я был девелопером, я писал 100-500 строчек в день. Сейчас, когда дорос до техлида пишу в 3 раза больше, таски, доку, переписываюсь с сотней менеджеров в слаке. Где эти сферические погромисты, что целый день только и читают)))))
это же не код
У меня так же было. А потом я выгорел.
Как именно также?
Дорос до тех-, а потом и тимлида, писал кода больше, чем любой из разрабов на проекте, переписывался с менеджерами, вел документацию.
У меня совсем не такая же ситуация. Я может строчек 10 кода в неделю успеваю писать. Мой коммент больше был про чтение / писание. Вот на чтение книжек у меня точно времени нет
Тем, что пишут программисты мало - согласен. По этому всегда смеюсь над аргументами в пользу всяких AI co-pilot, что они позволяют писать код быстрее. (типа вместо 5 минут в час будет 4 минуты))))
Но методика подсчётов ужастна.
Надо логгировать нажатия на клавиатуре. Часто бывает часть кода генерируется самой IDE. Часто бывает, пишется большой кусок кода, потом оптимизируется несколько итераций, и на выходе в коммит ухдят идеальные 5 строчек, вместо изначальных 20 + 14 после первого рефакторинка и 8 после первого код ревью.
А ещё работа по написанию строк сводится не только к коду. Ещё надо писать описание коммита, множество компнд в консоли и прочее.
Цитата: "Хорошие программисты пишут код, который будет понятен людям"
Это не всегда верный подход, и лучше его избегать. Пусть люди лучше учатся программировать и читать код, чем они смогут прочитать читабельный код, но сами сделать ни чего не смогут. Программировать они от этого не научаться.
Программист мало пишет, но много читает