YAGNI - Вам это не понадобится
YAGNI (You Aren't Gonna Need It) - Вам это не понадобится
Описание принципа
Принцип YAGNI советует не добавлять функциональность, пока она действительно не понадобится. Другими словами, следует разрабатывать только те возможности, которые нужны сейчас, а не те, которые могут понадобиться в будущем.
Применение
- Не создавайте "на будущее" поля, реквизиты, отчеты, которые не требуются сейчас
- Не усложняйте код дополнительными проверками и ветвлениями "на всякий случай"
- Разрабатывайте функционал итеративно, добавляя возможности по мере необходимости
- Избегайте создания "универсальных" механизмов, которые содержат большое количество настроек и вариантов использования
Пример
// Плохо: добавление ненужной сейчас функциональности
Процедура СохранитьКлиента(Клиент)
// Основная логика сохранения...
// Излишняя ф ункциональность, которая сейчас не нужна
ОтправитьУведомлениеВМессенджеры(Клиент);
ПодготовитьДанныеДляРассылки(Клиент);
СформироватьОтчетПоВзаимодействиям(Клиент);
КонецПроцедуры;
// Хорошо: только необходимая сейчас функциональность
Процедура СохранитьКлиента(Клиент)
// Основная логика сохранения...
КонецПроцедуры;
Следование принципу YAGNI позволяет:
- Сократить время разработки
- Упростить тестирование
- Сфокусироваться на действительно необходимом функционале
- Избежать ненужного усложнения кода
Рекомендации
-
Проектируйте итеративно - начинайте с минимально необходимого функционала и расширяйте его по мере необходимости.
-
Следуйте требованиям заказчика - реализуйте только то, что было согласовано, и не добавляйте лишнего.
-
Сохраняйте простоту структуры метаданных - добавляйте только те объекты метаданных (реквизиты, табличные части, регистры и т.д.), которые необходимы для текущей функциональности.
-
Используйте гибкую архитектуру - проектируйте систему так, чтобы её можно было легко расширить, когда потребуется новая функциональность.