zoukankan      html  css  js  c++  java
  • 静态代码扫描工具

    1、为什么要用sonarQube?

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

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

     


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

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

    python语言的Pyflakes,Pylint,pep8等。

    C#语言的FxCop、StyleCop等。

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

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

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

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

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

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


    sonarQube就是这样的一个平台,

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

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



    2、sonarQube是什么?

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

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

    3、支持25+编程语言的代码扫描和分析,包含javapythonC#javascriptgoC++等。

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

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

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

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

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

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

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



    3、sonarQube如何工作?

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

    sonarQube: web界面管理平台。

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

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

    sonarScanner: 代码扫描工具。

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

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


    sonarQube和sonarScanner之间的关系:

     

    扫描数据流向:

  • 相关阅读:
    152. 乘积最大子数组
    Java中wait和sleep方法的区别(美团面试面到了)
    HashMap1.7与1.8的区别
    类型转换
    Goland控制台中文乱码
    Spring 之 IOC
    Spring定时任务/Cron
    Mybatis 不加载xml文件
    MySQL :=和=的区别
    Go 第一个程序
  • 原文地址:https://www.cnblogs.com/Simple-Small/p/12881400.html
Copyright © 2011-2022 走看看