G'day,不良气味审查代码影响方法?
我在考虑关于我对question关于软件开发质量的回答Kristopher Johnson的评论。
我会发布的软件质量度量,我能想到的,把我的头,包括顶部的列表:
- 麦凯布Cyclometric复杂性 - 通过代码线性路径的数量基本措施。
- 缩进级别 - 查看嵌套决策语句时的复杂度度量。
- 从声明到首次使用的距离 - 声明变量的位置和首次使用位置之间存在多少声明。
- 评论百分比 - 与源代码相比,多少行代码是评论。
- 百分比测试覆盖率 - 作为代码行的百分比,您的测试套件行使了多少。
- 路径测试覆盖率 - 测试执行多少路径的执行。
- 单位覆盖率 - 您的单元测试使用多少个单位,类别,包裹等。
克里斯的评论是:
只有在这里列出的测试覆盖指标可以被视为衡量“质量”。其他的是复杂性和可读性的度量,这与质量无关。
除了我完全不同意这个说法,这让我想到了。
当我必须回顾几乎没有任何关联测试的代码时,无论是单元,系统还是集成,我倾向于更接近代码,比如果我看到已成功通过的一整套良好测试更加谨慎。
在对代码执行安全审计时同样的事情。如果我在Apache模块中看到未使用的变量,巨大的函数,奇怪的配置混合,每个服务器,每个目录等等,它也使我非常警惕地接近代码。
是否有其他人使用这种初始的“直觉”方法,并影响结果?
顺便说一句我不同意Kris的评论,因为所有其他指标都是绝对有效的措施,可以帮助突出显示设计不佳,执行不佳的代码。正如达米安康威说:
总是编码,如果最终维护您的代码的人将是一个暴力的精神病患者谁知道你住的地方。
但是,“直觉”只是在经历了很长时间的痛苦之后才建立起来的,因此不可能属于“初学者”的范畴? – 2008-09-09 10:23:12