| 阈值示例 | 函数 >50 行、文件 >1000 行为讨论触发点 |
|---|---|
| 伴随信号 | 认知复杂度、嵌套、变更频率 |
| 动作 | 找到可命名的多职责再拆 |
拆前先自问
拆前先自问
□ 这个函数在做几件可命名的事?
□ 哪一段需要注释解释「做什么」?
□ 拆出的部分有独立测试价值吗?| 统计口径 | 排除生成代码与测试数据,只看人工维护目录 |
|---|---|
| 趋势观察 | 新增长函数集中在哪个模块,回看分层设计是否缺失 |
长度是弱信号:超长往往意味多职责,但机械切割带来碎片;更可靠的伴随信号包括认知复杂度、嵌套深度、被修改频率;长度阈值用于触发阅读与讨论,不是自动判罚。
| 阈值示例 | 函数 >50 行、文件 >1000 行为讨论触发点 |
|---|---|
| 伴随信号 | 认知复杂度、嵌套、变更频率 |
| 动作 | 找到可命名的多职责再拆 |
□ 这个函数在做几件可命名的事?
□ 哪一段需要注释解释「做什么」?
□ 拆出的部分有独立测试价值吗?| 统计口径 | 排除生成代码与测试数据,只看人工维护目录 |
|---|---|
| 趋势观察 | 新增长函数集中在哪个模块,回看分层设计是否缺失 |