Изменение поведения системы на панели управления - мечта заказчика. И кошмар разработчика программного обеспечения.

Проблемы

  • Дублированный код
  • Если загрязнение
  • Глобальное использование
  • "Связь"
  • Тестируемость и взрывной рост сценариев тестирования.
  • Сложность

Решения

  1. Избегайте настроек
  2. Создавать полиморфные объекты. Ввести их наружно.

Образец кода

Неправильный

Правильно

Обнаружение

Это архитектурный шаблон, поэтому его следует контролировать / избегать с помощью политик проектирования.

Примеры

Исключения

  • Иногда мы используем переключение функций в качестве защитного механизма. Это приемлемо в устаревшей системе. Эти переключатели должны быть очень недолговечными в системе CI / CD.
  • Настройки гиперпараметров должны управляться объектами конфигурации.

Теги

  • Глобалы

Вывод

Настройка поведения во время выполнения отлично подходит для программных систем.

Мы должны настроить наши объекты так, чтобы они могли вести себя по-разному, и мы должны добиться этого явным образом с помощью явных поведенческих объектов.

Таким образом, наш код будет более декларативным, чистым и тестируемым. Это не так просто, как добавить оператор IF. Такие ленивые разработчики привносят в наши системы множество сбоев и неожиданных проблем.

Система с 300 логическими конфигурациями имеет больше тестовых комбинаций (2 ^ 300), чем количество атомов во вселенной (10 ^ 80).

Также известен как

  • Переключатели функций


Больше информации



Простота - залог эффективности.

Остин Фриман



Великие цитаты о программной инженерии
Иногда короткая мысль может родить потрясающие идеи. medium.com



Эта статья является частью серии CodeSmell.