Skip to content

低内聚 (LCOM4)

ID: lcom | 严重程度: 中 (默认)

内聚性衡量类的方法和字段之间的关联紧密程度。archlint 使用 LCOM4 (Lack of Cohesion of Methods) 指标。

为什么这是一种坏味道

  • 违反 SRP:该类可能正在处理两个或多个不相关的任务。
  • 脆弱性:修改类的一个部分可能会影响不相关的部分。
  • 难以复用:如果不引入不相关的逻辑,就无法使用类的一个部分。

如何修复

  1. Extract Class (提取类):将该类拆分为两个或多个更小的类,每个类负责单一职责。
  2. Move Method (移动方法):将不使用类状态的方法移动到更合适的位置(例如,工具模块)。

配置

yaml
rules:
  lcom:
    severity: medium
    max_lcom: 4
    min_methods: 3

Released under the MIT License.