关于静态分析与编码规范
回答关于静态分析查找代码缺陷、编码规范检查、以及静态分析工具的选择等问题
1、静态分析是单元测试吗?为什么?
当然不是。静态分析并未检测代码的功能逻辑,怎么会是单元测试呢。
2、编码规范检查是单元测试吗?为什么?
当然不是。编码规范与功能逻辑是两回事。
3、最简单的静态分析代码缺陷的方法是什么?
编译器是最好的静态分析工具,因为编译器最懂代码。
把编译器的警告级别调到最高。
4、最简单的实施编码规范的方法是什么?
编码规范不要指望依靠工具。目录结构、文件命名、类/函数/变量的命名、注释规范、什么时候应该继承/什么时候应该包含,等等,这些才是编码规范的主要内容,没有一项是工具能够自动检测的。
实施编码规范很简单:
1) 制定简单的、团队一致认同的编码规范;
2)每周一次代码评审,保证编码规范的切实执行,坚持两个月,形成习惯;
3)对新加入的成员进行培训。
5、我同时想做静态分析,如何选择工具?
选择专业的静态分析工具,如PC-Lint。专业才能做到最好。
捆绑不会带来方便。静态分析与单元测试是两件事,不是一起做的。单元测试应该边开发边做,这是程序员做的;静态分析是整体扫描,一两周才会做一次,可以指定专人负责,也可以由测试员做。
单元测试工具与静态分析工具的数量,十比一就够了,买捆绑的工具,在经济上很不合算,例如,10个单元测试工具 + 一个静态分析工具,付出的是11个License的钱,同时可以11人使用,而10个捆绑的工具,付出的是20个License的钱,同时只可以10人使用。