zoukankan      html  css  js  c++  java
  • [java tool]sonar与idea结合使用,度量代码质量

      背景

    公司java项目利用sonar平台进行代码指标度量。比如复杂度、重复度、单测覆盖和数量、坏味道、bugs;还是挺全乎的。

    在sonar jar包使用过程中,看了一下输出日志,涉及到几个插件:

    • Pmd 它是一个基于静态规则集的Java源码分析器,它可以识别出潜在的如下问题:
      – 可能的bug——空的try/catch/finally/switch块。
      – 无用代码(Dead code):无用的本地变量,方法参数和私有方法。
      – 空的if/while语句。
      – 过度复杂的表达式——不必要的if语句,本来可以用while循环但是却用了for循环。
      – 可优化的代码:浪费性能的String/StringBuffer的使用。

    • FindBugs 它用来查找Java代码中存在的bug。它使用静态分析方法标识出Java程序中上百种潜在的不同类型的错误。

    • Checkstyle 它定义了一系列可用的模块,每一个模块提供了严格程度(强制的,可选的…)可配置的检查规则。规则可以触发通知(notification),警告(warning)和错误(error)。

    使用好这些工具,对于写出高质量的代码和良好的编码习惯培养,是有很大帮助的。再者,最近一段时间很火的 《阿里java开发手册》(网上资源很多,这里只是随便找一个地址),里面也涉及到一些编码上的问题。

    接下来,记录sonar与idea集成的相关步骤:

    1、idea--plugns中查找sonarLint插件,并安装;安装完成后,重启idea;

    2、配置sonarlint插件:(我这里是编辑形式打开的弹窗,第一次添加时,是需要自己添加自己使用的sonar平台地址,一般是公司内部搭建的地址)

      

       配置项目信息,在上面那个环节时,下面有个“UPdate bingding ”;看解释就很清楚了。从服务器获取项目列表、规则、配置等;必须在选择项目前完成这事儿。

      

    第二步,配置项目:

      

     配置完成后,在当前项目环境下,idea的左下角就可以看到sonar扩展了:

      

    至此,idea与sonar插件集成完毕。愉快的玩耍吧。

  • 相关阅读:
    插入排序—希尔排序(Shell`s Sort)原理以及Java实现
    八大排序算法原理以及Java实现(直接插入排序)
    HTTP与HTTPS的区别
    TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute【转】
    TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议【转】
    中介者模式-Mediator
    命令模式-command
    桥接模式-Bridge
    迭代器模式-Iterator
    组合模式-Composite
  • 原文地址:https://www.cnblogs.com/hager/p/6408478.html
Copyright © 2011-2022 走看看