Высокая связанность
ID: high_coupling | Степень критичности: Средняя (по умолчанию)
Высокая связанность (High coupling) возникает, когда модуль зависит от слишком большого количества других модулей (высокий Fan-out).
Почему это «запах»
- Жесткость: Изменение в любой из зависимостей может потребовать изменения в этом модуле.
- Хрупкость: Модуль с большей вероятностью сломается при изменении любой из его зависимостей.
- Сложность тестирования: Требуется много моков для изоляции модуля при модульном тестировании.
Как исправить
- Извлеките обязанности: Если у модуля слишком много зависимостей, скорее всего, он делает слишком много.
- Используйте абстракции: Зависьте от интерфейса или фасада вместо множества конкретных реализаций.
Конфигурация
yaml
rules:
high_coupling:
severity: medium
max_cbo: 20
exclude: []ESLint правило
Этот детектор доступен как правило ESLint для получения обратной связи в реальном времени.
javascript
// eslint.config.js
export default [
{
rules: {
'@archlinter/no-high-coupling': 'warn',
},
},
];Смотрите Интеграция с ESLint для инструкций по настройке.
Параметры по умолчанию
max_cbo:20- максимальное количество зависимостей модуля (Coupling Between Objects)exclude:[]- паттерны файлов, которые исключаются из проверки