…копи-паста и святого чекина. Энтер.
Очень сегодня удивился на работе. Очень-очень.
Оказывается, вполне неглупые вроде люди до сих пор до глубины души уверены, что код, который был только что, буквально 10 секунд назад, checked in в систему управления кодом, окончателен и дальнейшему изменению не подлежит.
Узнал я об этом совершенно случайно, в момент, когда во время code review (на который по разным причинам уже накопилось слишком много кода) мне отметили, что этот код incomplete. Потому что не все запланированные фичи реализованы. С чем я категорически согласился, отметив, что завершить все фичи мы сможем не раньше, чем реализуем еще вот ту, ту и ту фигню, которую мы можем начать писать только после того, что приведем текущий кусок кода в более-менее живой вид. Ответ мне был таков, что моя вера в светлое, разумное и вечное забилось в какую-то темную дыру, закрыла за собой дверь, повесив на нее табличку “до пятницы не беспокоить” и заперлась на замок. “Мы должны реализовать эту фичу перед коммитом”, услышал я.
Услышал я, но вида не подал. Перед глазами предстала апокалиптическая картина, в которой был дом. Дом был построен из многовековых наслоений спагетти-кода, щедро приправленного копи-пейстом и многократным дублированием. Конструкция почему-то отчетливо отдавала одновременно пиццей, карри, картошкой фри, пивом и сосасолой. Представил разработчика, построившего этот дом. Он наконец-то дописал ту самую фичу и готов к чек-ину. Еще я представил начальника того разработчика, которому теперь предстоит весь этот проверить глазками. Потом разработчик, правда, куда-то очень-очень-очень быстро пошел, но это я видел не так отчетливо, как грусть его коллег, которые, взглянув на закоммиченый через две недели упорного рецензирования код, убедились, что эта фича нахрен не нужна.
Когда же они наконец поймут, что в отличие от waterfall, который работает только на бумаге, agile работает и в реальном мире?