Небольшие изменения приводят к неожиданным проблемам.
Проблемы
- Связь
Решения
- Разъединить.
- Покройте тестами.
- Выполните рефакторинг и изолируйте то, что меняется.
- Зависит от интерфейсов.
Примеры
- Устаревшие системы
Образец кода
Неправильный
Правильно
Обнаружение
- Обнаружить проблемы до того, как они возникнут, непросто. Может помочь Мутационное тестирование и анализ первопричин единичных точек отказа.
Теги
- Наследие
Вывод
Существует несколько стратегий работы с устаревшими и связанными системами. Мы должны решить эту проблему, пока она не взорвалась у нас на глазах.
связи
Больше информации
Архитектура - это напряжение между сцеплением и сплоченностью.
Нил Форд
Эта статья является частью серии CodeSmell.