YAGNI
You aren’t going to need it.
Единственный путь избежать появления проблем в вашей кодовой базе - это избегать добавления ненужных дополнительных функций. Когда вы добавляете лишние элементы в свой код, вы тратите время, которое лучше потратить на поддержку реальных требований. Чтобы закончить функции вовремя и уложиться в сроки, вы будете делать все в спешке, в следствии чего качество желаемого продукта пострадает, если время будет потрачено на предметы, которые не требуются.
Когда разработчик добавляет излишние функции, которые не являются частью требований, это приводит к большому количеству дополнительного кода. Ненужные классы, методы, логические структуры и элементы баз данных могут быть добавлены в ваш проект и вообще не использоваться. Это в свою очередь также потребует времени на написание тестов. Также, если в среднем определенный процент кода содержит ошибки, то из этого следует, что чем больше кода, тем больше ошибок.
Весь этот дополнительный код и время, потраченное на незапрошенные требования, вероятно, задержат разработку функций, которые действительно желательны. Это приводит к снижению доходов для бизнеса, которого все хотят избежать. Вы же не хотите, чтобы вас называли человеком, который регулярно вызывает задержки.
Придерживайтесь бизнес требований, и у вас будет меньше проблем, и вы будете тратить меньше времени. Пишите тесты, чтобы соответствовать требованиям. Пишите код, который удовлетворяет тестам. Затем остановись.
Перевод статьи: medium