一 点睛
代码质量静态检查工具可以自动快速发现劣质代码,潜在Bug,给出代码优化建议。因此代码静态检查工具在实际项目研发中有举足轻重的作用,利用好各种优秀检查工具是做好品质管理的重要环节。
二 静态分析和动态分析
代码分析技术分为:
第一、静态分析:对程序代码的检查;
第二、动态分析:程序运行时检查;
静态分析技术是在不执行程序的情况下对其进行分析的技术,简称为静态分析。静态分析可以被视为自动化代码审查过程,是检查瑕疵的最古老和最安全的方法。
动态分析着重于内存、性能和资源的检查。
三 静态分析原理
静态分析技术原理:
和编译器的技术原理有很多相似之处,主要也是使用词法分析,语法分析,语意分析等分析技术对代码进行解析。但和编译器最主要区别是各种静态分析工具可以自定义各种各样的复杂规则。
静态分析特点
-
不实际执行程序;
-
执行速度快、效率高;
-
全代码扫描;
常用静态分析技术:
-
缺陷模式匹配分析
-
类型推断分析
-
模型检查
-
数据流分析
四 静态分析代理的好处
Bug发现时机与成本比例
五 静态检查的不足
不足之处
人工代码检查,是对自动化工具检查自身不足的一个补充。
实际研发过程中一般要开品质管理会议,统一产品质量。每个开发人员应该选取一个具有代表其水平的代码文件,交给架构师或品质管理员进行检查(review),以确认其质量水平。
在人工检查之前,一般都要求程序员先用工具进行自我检查,再对工具不能检测出的质量标准项等(检查清单)进行检查。
六 常用静态检查工具