Принцип YAGNI

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Принцип «YAGNI» (англ. You Aren't Going to Need It — «Вам це не знадобиться») — процес і принцип проєктування, при якому основною метою та цінністю є відмова від додавання функціональності, в якій немає безпосередньої потреби. Цей принцип варто застосувати ще на етапі формування юзкейсів та UX-тестування на прототипах, оскільки це дозволяє визначити потрібні для користувачів елементи програми та усунути непотрібні функції з вимог до початку їхньої розробки.

Обґрунтування[ред. | ред. код]

Згідно з адептами принципу YAGNI, бажання писати код, який не потрібний прямо зараз, але може знадобитися в майбутньому, призводить до таких небажаних наслідків:

  • Витрачається час, який було б витрачено на додавання, тестування і поліпшення необхідної функціональності.
  • Нова функціональність має бути налагоджена, документована і підтримувана.
  • Нова функціональність обмежує те, що може бути зроблено в майбутньому, тому непотрібна функціональність може згодом перешкодити додаванню нової потрібної функціональності.
  • Поки функціональність справді не потрібна, важко повністю передбачити, що вона має робити, і протестувати її. Якщо нова функціональність ретельно не протестована, вона може неправильно працювати, коли вона згодом знадобиться.
  • Це призводить до того, що програмне забезпечення стає складнішим.
  • Якщо вся функціональність не документована, вона може так і залишитися невідомою користувачам.
  • Додавання нової функціональності може призвести до бажання ще новішої, приводячи до ефекту снігової кулі.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]