Skip to main content
Практика завдань

YAGNI (вам це не знадобиться)

YAGNI (You Aren't Gonna Need It) — це принцип розробки програмного забезпечення, згідно з яким не слід реалізовувати функціональність, яка вам ще не потрібна. Простими словами, не пишіть код і не створюйте інфраструктуру "на майбутнє", якщо наразі немає нагальної потреби в цьому.

Основна Ідея

  • Уникайте надмірної функціональності

Коли ми намагаємося передбачити всі можливі сценарії використання коду заздалегідь, ми ризикуємо ускладнити архітектуру. Ці "додаткові" частини можуть ніколи не знадобитися, а час, витрачений на їх розробку та обслуговування, буде змарнований.

  • Сфокусуйтеся на поточних завданнях

Принцип YAGNI допомагає не відволікатися на гіпотетичні функції, а зосередитися на поточних реальних потребах проекту. Коли потреба в додатковій функціональності насправді виникає, ви реалізуєте її більш правильно та ефективно.

Приклад

Уявіть, що у нас є завдання створити функцію для обробки списку даних. Ми точно знаємо, що поточні вимоги полягають лише в тому, щоб відфільтрувати масив за певною умовою та повернути результат.

javascript
// Погано (врахування можливих сценаріїв, які ще не потрібні) function processData(array) { // Фільтрація let filtered = array.filter(item => item.active); // Сортування за кількома полями (хоча наразі потрібна лише фільтрація) filtered.sort((a, b) => a.priority - b.priority || a.id - b.id); // Зберігання додаткової статистики (не вимагається специфікацією) const stats = { count: filtered.length, maxPriority: Math.max(...filtered.map(f => f.priority)) }; // Припустимо, що лог для налагодження буде корисним у майбутньому console.log("DEBUG: processed data", filtered, stats); return filtered; } // Краще (лише те, що потрібно зараз) function processData(array) { return array.filter(item => item.active); }

У цьому прикладі ми реалізуємо лише те, що вимагається поточними вимогами. Коли потреба в сортуванні або статистиці насправді виникне, ми додамо це тоді, виходячи з реальних потреб і вимог.

Зміст

Основна ІдеяПриклад

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань