Еще один крайне популярный и особенно важный в последние годы принцип разработки программного обеспечения – YAGNI – You Aren’t Gonna Need IT – Вам это не понадобится.
Проблема которой страдают многие и даже опытные программисты – это стремление разработать сразу весь потенциально необходимый функционал с самого начала процесса разработки. То есть, когда разработчик изначально добавляет все возможные методы в класс и реализует их, при этом в дальнейшем может даже ни разу ими и не воспользоваться.
Поэтому согласно этой рекомендации, разрабатывайте только то, что вам необходимо в первую очередь, а в дальнейшем при необходимости наращивайте функциональные возможности. Так вы сэкономите многоженство сил, времени и нервов на отладку кода, который на самом деле не нужен.
Особенная важность этого подхода заключается в том, что YAGNI тесно связан с популярной сейчас методологией разработки Agile. То есть вы начинаете разработку с максимально упрощенного прототипа и постепенно добавляете новые возможности по мере необходимости. Это позволяет максимально быстро получить первый результат, который можно проверить на жизнеспособность. Если же изначально продумывать и реализовывать все функции, то появление прототипа будет очень сильно задерживаться и устаревать.
Лично я считаю этот принцип одним из самых важных и всегда стараюсь начинать разработку с малого и выкидывать все, что не используется. Но прямо в разрез с этой идеей идет другой принцип, который мы рассмотрим далее. Именно его придерживался Стив Макконнелл в своей культовой книге Совершенный код (Code Complete). Мы рассмотрим его уже в следующем посте. А вы знакомы с этим принципом? Напишите свои предположения в комментариях.
Также можете прочитать мою предыдущую статью — Не усложняй! Принцип KISS. И подписывайтесь на группу ВКонтакте, Telegram, Инстаграм и YouTube-канал. Там еще больше полезного и интересного для программистов.