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之间的关系:

     

    扫描数据流向:

  • 相关阅读:
    perl 判断网站内容是否变更
    鸿雁电器oa系统中决策支持模块效果
    爬虫1-15
    自动封杀脚本
    图表中如何实现动态变更分类轴与系列值
    错误代码: 1305 PROCEDURE world.insert_data does not exist
    错误代码: 1054 Unknown column 't.createUsrId' in 'group statement'
    错误代码: 1247 Reference 'startTime' not supported (forward reference in item list)
    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
    echarts中地图提示"TypeError:i is undefined"
  • 原文地址:https://www.cnblogs.com/Simple-Small/p/12881400.html
Copyright © 2011-2022 走看看