低内聚 (LCOM4)
ID: lcom | 严重程度: 中 (默认)
内聚性衡量类的方法和字段之间的关联紧密程度。archlint 使用 LCOM4 (Lack of Cohesion of Methods) 指标。
为什么这是一种坏味道
- 违反 SRP:该类可能正在处理两个或多个不相关的任务。
- 脆弱性:修改类的一个部分可能会影响不相关的部分。
- 难以复用:如果不引入不相关的逻辑,就无法使用类的一个部分。
如何修复
- Extract Class (提取类):将该类拆分为两个或多个更小的类,每个类负责单一职责。
- Move Method (移动方法):将不使用类状态的方法移动到更合适的位置(例如,工具模块)。
配置
yaml
rules:
lcom:
severity: medium
max_lcom: 4
min_methods: 3