Связанность с вендором (Vendor Coupling)
ID: vendor_coupling | Степень критичности: Средняя (по умолчанию)
Выявляет модули, которые слишком тесно связаны с конкретной внешней библиотекой или фреймворком.
Почему это «запах»
Если вы решите сменить библиотеку в будущем, вам придется менять код во многих местах. Это также усложняет тестирование, так как приходится повсеместно создавать моки для внешней библиотеки.
Как исправить
Используйте паттерн Адаптер (Adapter). Создайте интерфейс в вашей доменной области и реализуйте его с использованием внешней библиотеки. Остальная часть вашего кода должна зависеть только от вашего интерфейса.
Конфигурация
yaml
rules:
vendor_coupling:
severity: medium
max_files_per_package: 10
ignore_packages:
- 'react'
- 'lodash'Параметры по умолчанию
max_files_per_package:10- максимальное количество файлов, использующих один пакетignore_packages:['react', 'lodash']- список пакетов, которые следует игнорировать при проверке