Осторожное
Feb. 21st, 2017 05:59 pmПрограммисты бывают осторожные и ещё не осторожные. Первых, как ни странно, очень мало.
Осторожный программист, написав код, прогоняет все тесты.
Затем он запускает систему на своей машине и пробует её вручную. Потому что тесты тестами, но надо и глазами посмотреть.
Затем пушит код в отдельную ветку в корпоративном репозитории и требует у кого-нибудь — лучше у другого осторожного программиста — сделать кодревью.
Исправляет замечания.
Прогоняет тесты ещё раз.
Ещё раз запускает систему локально и пробует вручную.
Пушит исправления.
Получив одобрямс... нет, не выкатывает код в продакшен.
Ребейзит код на текущий мастер.
Ещё раз запускает тесты.
Ещё раз пробует локально.
Пушит.
Пробегается глазами по исправлениям.
И только после этого выкатывает код. Если ещё не наступил вечер — потому что ничего нет хуже, чем выкатить код в продакшен и уйти с работы.
А затем ещё некоторое время приглядывает — как оно, нормально работает? Не надо ли откатить на предыдущую версию?
И именно из-за осторожных программистов больше всего проблем. Именно их код чаще всего разваливает всю систему вообще. Не потому, что все эти предосторожности — лишние, нет. Просто есть существенная корреляция между осторожностью и способностями. Осторожный программист, как правило — это как джип среди легковушек.
А джип, как известно, застрянет там, куда другая машина не доедет.
Это я не говорю сейчас про опсов — у них своя специфика; ошибка опса, как правило, ломает сервис целиком и сразу, и хорошо, если только один.
Осторожный программист, написав код, прогоняет все тесты.
Затем он запускает систему на своей машине и пробует её вручную. Потому что тесты тестами, но надо и глазами посмотреть.
Затем пушит код в отдельную ветку в корпоративном репозитории и требует у кого-нибудь — лучше у другого осторожного программиста — сделать кодревью.
Исправляет замечания.
Прогоняет тесты ещё раз.
Ещё раз запускает систему локально и пробует вручную.
Пушит исправления.
Получив одобрямс... нет, не выкатывает код в продакшен.
Ребейзит код на текущий мастер.
Ещё раз запускает тесты.
Ещё раз пробует локально.
Пушит.
Пробегается глазами по исправлениям.
И только после этого выкатывает код. Если ещё не наступил вечер — потому что ничего нет хуже, чем выкатить код в продакшен и уйти с работы.
А затем ещё некоторое время приглядывает — как оно, нормально работает? Не надо ли откатить на предыдущую версию?
И именно из-за осторожных программистов больше всего проблем. Именно их код чаще всего разваливает всю систему вообще. Не потому, что все эти предосторожности — лишние, нет. Просто есть существенная корреляция между осторожностью и способностями. Осторожный программист, как правило — это как джип среди легковушек.
А джип, как известно, застрянет там, куда другая машина не доедет.
Это я не говорю сейчас про опсов — у них своя специфика; ошибка опса, как правило, ломает сервис целиком и сразу, и хорошо, если только один.