静态代码扫描工具 - (一)sonarQube介绍

huaqiangli 2020-05-14

1、为什么要用sonarQube?

在我们的日常软件开发工作当中,随着项目时间变长,开发人员编写的代码量也会越来越多。

长此以往,会面临代码量庞大,却无法横量整体代码质量?若是要优化,也不知道如何优化。

静态代码扫描工具 - (一)sonarQube介绍
 


针对这些问题,出现了各种各样的工具,比如:

java语言的Checkstyle,FindBugs,PMD,Jtest等,帮助检测代码编写规范上存在的问题和漏洞

python语言的Pyflakes,Pylint,pep8等。

C#语言的FxCop、StyleCop等。

通过这些工具扫描的结果分析后,根据结果来优化代码问题,以提高代码质量。

以上这些工具都是 代码的静态扫描分析 工具。

所谓静态代码分析,就是针对开发人员编写的源代码,在不运行的情况下,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷。

在单独使用以上这些工具时,我们会面临:

1、需要一个平台,能够汇总呈现不同语言的项目、不同工具的扫描结果

2、需要一个平台,可以友好的呈现或者追溯,一段时间内每一次扫描的结果的差异。


sonarQube就是这样的一个平台,

1)支持多种语言的静态代码扫描。

2)多维护呈现项目代码的质量状态。

2、sonarQube是什么?

1、代码质量和安全扫描和分析平台。

2、多维度分析代码:代码量、安全隐患、编写规范隐患、重复度、复杂度、代码增量、测试覆盖率等。

3、支持25+编程语言的代码扫描和分析,包含java\python\C#\javascript\go\C++等。

4、涵盖了编程语言的静态扫描规则: 代码编写规范+安全规范。

5、能够与代码编辑器、CI/CD平台完美集成。

6、能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。

7、帮助程序猿写出更干净、更安全的代码。

静态扫描主要针对开发人员编写的源代码。

通过定义好的 代码质量和安全规则,对开发人员编写的代码进行扫描和分析。

将分析的结果多维护的呈现出来,以方便开发人员进行代码的优化和规范编写。

3、sonarQube如何工作?

sonar静态代码扫描由2部分组成:sonarQube平台,sonar-scanner扫描器。

sonarQube: web界面管理平台。

? 1)展示所有的项目代码的质量数据。

? 2)配置质量规则、管理项目、配置通知、配置SCM等。

sonarScanner: 代码扫描工具。

? 专门用来扫描和分析项目代码。支持20+语言。

? 代码扫描和分析完成之后,会将扫描结果存储到数据库当中,在sonarQube平台可以看到扫描数据。


sonarQube和sonarScanner之间的关系:

静态代码扫描工具 - (一)sonarQube介绍
 

扫描数据流向:

静态代码扫描工具 - (一)sonarQube介绍

相关推荐