YAGNI (You Ain't Gonna Need It — Вам это не понадобится)
Это отказ от избыточной функциональности, тоесть отказ добавления функциональности, в которой нет непосредственной надобности.
По большому счету этот принцип противоречит самой идее фреймворков. Зачастую в рабочем проекте возможности фреймворка простаивают на 80 и более процентов.
Есть такой закон - Закон Старджона: "90 % чего угодно — полная чушь". Проецируя на проектирование систем, можно перефразировать, как "не делай того, что не просят, это чушь".
Однако при разработке фреймворка этот принцип распространяется на более низкий уровень - подсистемы, подклассы, методы. Не нужно делать ничего лишнего, с заделом на будущее.
Если потом понадобится кардинально измениь подсистему, то нужно переделать её полностью. Во-первых, это всегда попутный рефакторинг. Во-вторых, это обновление версий, что делает проект живым и конкурентоспособным. В третьих это всегда интересно.
Принцмп YAGNI экономит силы, время и ресурсы сервера. Делает систему более прозрачной, что сказывается на поддержке. Упрощает документацию. Вобщем одни плюсы.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.
Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.
Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.