1.概述
LINT工具是一种软件质量保证工具,许多国外的大型专业软件公司,如微软公司,都把它作为程序检查工具,在程序合入正试版本或交付测试之前一定要保证通过了LINT检查 ,他们要求软件工程师在使用LINT时要打开所有的编译开关,如果一定要关闭某些开关, 那么要给出关闭这些开关的正当理由。
在英文中,‘’lint‘’是指纠缠在一起的细小纤维或者绒毛,比如衣物上面起的毛或者线头。如此命名该工具,正是借用了"lint" 一词的含义:将"lint"从程序中挑拣出来,从而使程序更"干净"。
C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。LINT识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误的主要因素。LINT能够帮你在程序动态测试之前发现编码错误。这样消除错误的成本更低。
下面是LINT能够检查的部分错误列表。如果你幸运的话,你的编译器也可以检查出其中的一些,但不会使全部。
可想而知,如果从我们编码后第一次编译程序时就使用LINT来检查程序,并且保证消 除所有的LINT告警,我们就不会遇到象今天这么多的告警信息。即使在今天,我们如果能 抽出一定的精力来消除程序中的LINT告警,以后再维持这种无告警状态就是很容易的了。 我们程序质量的提高也是不言而喻的。
现有的两个流行的LINT程序:
PC-LINT是GIMPEL SOFTWARE公司的产品,其中的内容是非常广泛的,光是选项就有300多个,涉及到程序编译及语法使用中的方方面面。GIMPEL SOFTWARE公司的网址: http://www.gimpel.com/
如果要给LINT工具下一个形象点的定义,那就是:一种更加严格的编译器。它不仅可 以象普通编译器那样检查出一般的语法错误,还可以检查出那些虽然完全合乎语法要求, 但很可能是潜在的、不易发现的错误。