Существуют четыре правила Кента, чтобы архитектура была простой:
- Обеспечивает прохождение всех тестов.
- Не содержит дублирующего кода.
- Выражает намерения программиста.
- Использует минимальное количество классов и методов. Правило с наименьшим приоритетом. Лучше сделать все остальные, чем сосредоточиться на этом.
Эти правила были в порядке важности. А теперь заметки по главе:
- Написание тестов улучшает архитектуру. Если тесты писать сложно, то явно что-то не так и это повод переписать код.
- Добавляем несколько строчек кода — делаем паузу и анализируем, не ухудшили ли мы архитектуру.
- Дублирование — главный враг хорошо спроектированной системы. Это лишний риск, лишняя работа и лишняя сложность. И это не только полностью совпадение кода, но и дублирование реализации.
- Паттерн "Шаблонный метод" — стандартный способ устранить высокоуровневое дублирование. (https://refactoring.guru/ru/design-patterns/template-method)
- Легко написать код, понятный для нас, но у других программистов такого понимания не будет. Чем сложнее проект, тем больше уходит времени на понимание и доработки, а это деньги.
- Классы должны иметь хорошие имена и должны быть компактными.
- Не бойтесь включать названия паттернов в названия классов, чтобы другим было понятней.
- Проявляйте заботу к коду. Неравнодушие — воистину драгоценный ресурс.