YAGNI (You Aren't Gonna Need It)
Принцип экстремального программирования, гласящий, что программисты не должны добавлять функциональность, пока она реально не понадобится, избегая спекулятивных фич.
Определение
YAGNI происходит из Extreme Programming (XP) и борется с тенденцией строить для воображаемых будущих требований. Добавление неиспользуемых фич увеличивает сложность кода, бремя поддержки и вносит потенциальные баги — всё для функциональности, которая может никогда не использоваться. Исследования показывают, что 64% функций ПО редко или никогда не используются.
Почему это важно
Спекулятивные фичи тратят время разработки и создают технический долг. Код, предвосхищающий каждую возможную будущую потребность, становится раздутым и трудноподдерживаемым. YAGNI поощряет фокус на текущих, валидированных требованиях.
Пример
Нарушение YAGNI: создание универсальной системы плагинов "на случай, если понадобится" когда приложению нужно только одно фиксированное поведение. Следование YAGNI: реализовать одно поведение сейчас, добавить архитектуру плагинов только когда реально потребуется второй плагин.