|
|
03 июня 2011
Принцип «YAGNI» процесс и принцип проектирования, при котором в качестве основной цели и/или ценности декларируется отказ от добавления функциональности, в которой нет непосредственной нужды.
Обоснование
Согласно адептам принципа YAGNI, желание писать код, который не нужен прямо сейчас, но может понадобиться в будущем, приводит к следующим нежелательным последствиям:
- Тратится время, которое было бы затрачено на добавление, тестирование и улучшение необходимой функциональности.
- Новая функциональность должна быть отлажена, документирована и поддерживаться.
- Новая функциональность ограничивает то, что может быть сделано в будущем, поэтому ненужная функциональность может впоследствии помешать добавить новую нужную.
- Пока функциональность действительно не нужна, трудно полностью предугадать, что она должна делать, и протестировать её. Если новая функциональность тщательно не протестирована, она может неправильно работать, когда она впоследствии понадобится.
- Это приводит к тому, что программное обеспечение становится более сложным.
- Если вся функциональность не документирована, она может так и остаться неизвестной пользователям.
- Добавление новой функциональности может привести к желанию еще более новой функциональности, приводя к эффекту снежного кома.
Просмотров: 1062
|