高质量代码的基本原则
代码检测的方式
代码检查主要问题点
说明:图中代码度量指标,用于量化代码质量。
- 如果代码的圈复杂度或认知复杂度过大,可能函数本身实现的过于复杂,或可能因为架构设计过于复杂,导致函数过于复杂。
- 如果函数嵌套过深,说明函数很可能出错,需要仔细进⾏⼈⼯评审,并且函数可能需要重构。
- 如果子类过多,检查⼦类的实现中共同的地⽅,先考虑提出公共的中间⼦类,检查是否可以通过桥接模式、装饰模式、组合模式等结构型模式重构代码。
- 如果模块的扇入过大,说明模块可能是公共模块,需要⼈⼯评审接⼝是否是稳定的,或模块承担过多职责,可以考虑遵循单⼀职责,分解模块的职责。
- 如果模块的扇出过大,说明该模块依赖多个模块,可以考虑把被依赖的多个模块合并为⼀个模块,重构依赖的接⼝。
- 如果类的继承树过深,考虑在继承树的深度上是否有新的变化⽅向,考虑提出新的策略类,或其他设计模式来优化继承树。