Перейти к содержимому
Источник

Про то, что такое безумие

Заметил, что в последнее время у меня стабильно закрепился такой подход к работе с кодом – я часто делаю работу по два раза.

Первый раз – я ещё до конца не понимаю куда двигаюсь. Вроде какой-то план в общих чертах есть, но каждый следующий шаг всё равно достаточно рандомный и может измениться по итогам предыдущих. Я могу понять, что решение мне не подходит. Что там дальше где-то блокер, из-за которого нужно было пойти другим путём или в другой последовательности действий. Что сделал объём работы, который теперь неудобно ревьювить и тестировать. Что задел что-то лишнее. То есть на пути у тебя происходит работа над большим количеством не сильно связанных подзадач, которые деливерить одним скопом долго и мучительно. Но пока целиком всё не сделаешь – не поймёшь как было бы это сделать правильнее.

Второй раз – уже после того как всё сделал, но, с высоты полученного в процессе выполнения задачи опыта, просто делаешь всё тоже самое ещё раз. В этот раз уже правильно декомпозируешь, не делаешь лишнего, разбиваешь на последовательные коммиты или вообще на параллельные мёрж реквесты. И получается, внезапно, хорошо. Намного лучше, чем в первый раз. И потратил ты на это какие-то проценты от времени, которое занял первый заход.

А разрабы негодуют, когда просишь их мёрж реквест на 50к строк (утрирую) разбить на несколько более атомарных и последовательных. Понятно, что такого в принципе быть не должно, но у кого не было? Часто сталкиваешься с непониманием, что большой объём связанной между собой работы намного сложнее довести до прода, чем то же самое но короткими итерациями. Типа "ну потратили же уже время на то, чтобы это всё делать", "ща тут просто потестить и уже можно сливать", "мне что переделывать всё?". Да. Цена код ревью, цена тестирования, цена фиксов по итогам код ревью и тестирования растёт намного сильнее от объёма перевариваемой работы, чем цена, которую мы сейчас заплатим за твой второй проход.

И вот вопрос. Это у меня задачи такие все из себя экспериментальные, которые нельзя заранее спланировать? Это я разучился планировать? Или не умел? А может быть я время в пустую трачу? Или я вообще молодец и все так уже давным давно делают, а я понял только сейчас? 🤔