Найти в Дзене
AniNice

Принцип: YAGNI

You aren't gonna need it (или Вам это не понадобиться) - процесс и принцип проектировании ПО, при котором в качестве основной цели и\или ценности декларируется отказ от избыточности функциональности, то есть отказ добавление функциональности, в которой нет непосредственной необходимости Обоснование Согласно адептам принципа YAGNI, желание писать код, который не нужен прямо сейчас, не может понадобиться в будущем приводит к следующими нежелательным последствиям:

You aren't gonna need it (или Вам это не понадобиться) - процесс и принцип проектировании ПО, при котором в качестве основной цели и\или ценности декларируется отказ от избыточности функциональности, то есть отказ добавление функциональности, в которой нет непосредственной необходимости

Обоснование

Согласно адептам принципа YAGNI, желание писать код, который не нужен прямо сейчас, не может понадобиться в будущем приводит к следующими нежелательным последствиям:

  • Тратиться время, которое было бы затрачено на добавление, тестирование и улучшение необходимой функциональности.
  • Новые функции должны быть отражены, документированы и сопровождаться.
  • Новая функциональность отграничивает то, что может быть сделано в будущем - ненужные новые функции могут впоследствии помещать добавить новые нужны
  • Это приводит к тому, что программное обеспечение становиться более сложным (подчас чрезмерно сложным)
  • Если все функциональность не документирована, она может так и остаться неизвестной пользователям, но может создать различные риски для безопасности пользовательской системы
  • Добавление новой функциональности может привести к желанию еще более новой функциональности, приводя к эффекту "снежного кома"