Стремитесь не к качеству, а к скорости
#статьи #мысли #комментарии
Кажется, что очевидной и правильной вещью в разработке является качественный код. На канале также были посты про то, как увидеть некачественный код и избавиться от него. Однако недавно нашел статью, где автор пишет о том, что главное, что должен обеспечить программист — скорость разработки, а не качество кода.
Кажется, что это звучит абсурдно, так как если писать не качественный код, то большой проект со временем станет невозможно поддерживать. Но только в том случае, если проект сам не будет беспокоиться о своем качестве.
Идея состоит в том, что между программистами и проектом должен быть постоянный конфликт:
1) Проект сконфигурирован так, чтобы отбраковать все, что понижает качество этого проекта.
2) Разработчики заинтересованы в том, чтобы делать изменения в проекте.
Появляется ситуация, где разработчики заинтересованы в быстром создании фич, а проект заинтересован в поддержке качества.
Вот некоторые из возможных мер, которые сделают невозможным ухудшение качества проекта:
• автоматические билды при merge;
• ветка master в read-only;
• высокий уровень покрытия тестами;
• обязательный статический анализатор.
Мне понравилась идея этой статьи, однако на практике большинство проектов нацелены на то, чтобы разработчики сами думали о качестве кода. Но люди не совершенны, и на любом проекте может проявляться человеческий фактор. Уверен, что у каждого в проекте были глупые ситуации, когда разработчик допускал нелепые ошибки, опечатки или нехотя ломал текущую функциональность.
А что вы думаете об этом подходе?
Есть ли у кого-то в компании такой подход?
Хочу попробовать новую для этого канала возможность - оставлять комментарии. Делитесь размышлениями ниже.
#статьи #мысли #комментарии
Кажется, что очевидной и правильной вещью в разработке является качественный код. На канале также были посты про то, как увидеть некачественный код и избавиться от него. Однако недавно нашел статью, где автор пишет о том, что главное, что должен обеспечить программист — скорость разработки, а не качество кода.
Кажется, что это звучит абсурдно, так как если писать не качественный код, то большой проект со временем станет невозможно поддерживать. Но только в том случае, если проект сам не будет беспокоиться о своем качестве.
Идея состоит в том, что между программистами и проектом должен быть постоянный конфликт:
1) Проект сконфигурирован так, чтобы отбраковать все, что понижает качество этого проекта.
2) Разработчики заинтересованы в том, чтобы делать изменения в проекте.
Появляется ситуация, где разработчики заинтересованы в быстром создании фич, а проект заинтересован в поддержке качества.
Вот некоторые из возможных мер, которые сделают невозможным ухудшение качества проекта:
• автоматические билды при merge;
• ветка master в read-only;
• высокий уровень покрытия тестами;
• обязательный статический анализатор.
Мне понравилась идея этой статьи, однако на практике большинство проектов нацелены на то, чтобы разработчики сами думали о качестве кода. Но люди не совершенны, и на любом проекте может проявляться человеческий фактор. Уверен, что у каждого в проекте были глупые ситуации, когда разработчик допускал нелепые ошибки, опечатки или нехотя ломал текущую функциональность.
А что вы думаете об этом подходе?
Есть ли у кого-то в компании такой подход?
Хочу попробовать новую для этого канала возможность - оставлять комментарии. Делитесь размышлениями ниже.