主要观点:
- 应编写简单易读的代码以减少 bug 和安全问题,然而函数会随时间变复杂。
- 用[pmccabe]工具可扫描 C 代码并输出函数复杂度得分,以此找到需重构的函数。
- 去年创建 curl 仪表盘图形展示最差函数和 99 百分位的复杂度得分,后又添加 90 百分位图形。
- 作者重构了一些复杂函数,使最差函数复杂度减半,还提议可将可接受复杂度上限设为 100。
- 制作了展示 curl 代码复杂度分布和平均复杂度的图形,静态代码分析器在处理小而简单函数时效果更好。
- 重构复杂函数需谨慎,要有可靠的测试套件。
- 制作了展示最差和 99 百分位函数长度的图形,存在图表错误。
- 创建 CI 任务确保拉取请求中函数复杂度不超 100,目标是促使写出更简单代码以提高代码质量和安全性。
关键信息: - [Cyclomatic complexity]用于衡量程序复杂度,数值越高函数越复杂。
- 去年创建的 curl 仪表盘图形显示复杂度变化及各阶段情况。
- 作者重构函数使最差函数复杂度减半,提议将复杂度上限设为 100。
- 制作的其他图形展示复杂度分布和平均复杂度等情况。
- 需谨慎进行重构,要有测试套件,且所有相关脚本和数据均公开。
重要细节: - [pmccabe]是能扫描 C 代码输出函数复杂度的命令行工具。
- 展示的多个图形包括最差函数复杂度、99 百分位复杂度等。
- 有关于函数长度图表的错误说明。
- CI 任务确保函数复杂度不超 100 已设置,目标是持续改进代码。
- 目前 curl 中复杂度超 70 的函数列表已给出。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。