Принцип YAGNI
(Перенаправлено з YAGNI)
Принцип «YAGNI» (англ. You Aren't Going to Need It — «Вам це не знадобиться») — процес і принцип проєктування, при якому основною метою та цінністю є відмова від додавання функціональності, в якій немає безпосередньої потреби. Цей принцип варто застосувати ще на етапі формування юзкейсів та UX-тестування на прототипах, оскільки це дозволяє визначити потрібні для користувачів елементи програми та усунути непотрібні функції з вимог до початку їхньої розробки.
Згідно з адептами принципу YAGNI, бажання писати код, який не потрібний прямо зараз, але може знадобитися в майбутньому, призводить до таких небажаних наслідків:
- Витрачається час, який було б витрачено на додавання, тестування і поліпшення необхідної функціональності.
- Нова функціональність має бути налагоджена, документована і підтримувана.
- Нова функціональність обмежує те, що може бути зроблено в майбутньому, тому непотрібна функціональність може згодом перешкодити додаванню нової потрібної функціональності.
- Поки функціональність справді не потрібна, важко повністю передбачити, що вона має робити, і протестувати її. Якщо нова функціональність ретельно не протестована, вона може неправильно працювати, коли вона згодом знадобиться.
- Це призводить до того, що програмне забезпечення стає складнішим.
- Якщо вся функціональність не документована, вона може так і залишитися невідомою користувачам.
- Додавання нової функціональності може призвести до бажання ще новішої, приводячи до ефекту снігової кулі.
- You Arent Gonna Need It [Архівовано 19 жовтня 2010 у Wayback Machine.] в Portland Pattern Repository
- Чи порушує рефакторінг принцип YAGNI? [Архівовано 19 жовтня 2019 у Wayback Machine.] Мартін Фаулер
- Рон Джефріс. Принцип YAGNI