YAGNI

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Принцип YAGNI»)
Перейти к: навигация, поиск

Принцип «YAGNI» (англ. You Ain't Gonna Need It — «Вам это не понадобится») — процесс и принцип проектирования, при котором в качестве основной цели и/или ценности декларируется отказ от избыточной функциональности, — т. е. отказ добавления функциональности, в которой нет непосредственной надобности.

Обоснование[править | править вики-текст]

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

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

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]