• SonarLint(Sonar)代码质量管理


    一、Sonar是什么?

    Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测

    Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题 

      1. 不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写 

      2. 潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的缺陷

      3. 糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试 

      4. 重复 显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示源码中重复严重的地方 

      5. 注释不足或者过多 没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷 

      6. 缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率 

      7. 糟糕的设计  通过sonar可以找出循环,展示包与包、类与类之间相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。   

    二、如何使用Sonar(Eclipse/Myeclipse)

    首先需要说明的是

    Sonar官网说了从今年2015年10月开始已经停止了Eclipse插件

    转而使用SonarLint完成同样的功能。

    如果没记错,这个网站是需要FQ的,浪费了我很多时间。。

    进入SonarLint官网

    点击download,进入如下页面

    拖动install图片,可以看到的是eclipse如何安装

    在eclipse中,可以点击eclipse marketplace搜索sonarlint,安装显示的点击安装即可

    myeclipse可以通过help>install from catalog搜索sonarlint,进行安装,其实是一样的

    安装完后重启

    可以在这里看SonarLint官网上eclipse是如何使用的视频教程

    三、使用示例

    右键项目->Configure->enable sonarlint

    可以看到项目的右上角有变化

    接下来右键项目->SonarLint->Anaylse all files即可

    打开相应的视图就可以查看

    如上图,提示我应该直接返回,而不是先赋值给一个临时变量

    修改后,如下图

    可以看到,加上注解后警告就消失了

    这就是sonar的强大之处,可以发现许多潜在的错误。

    四、总结

    学习如何使用代码质量管理工具是很重要的,对于系统的潜在问题和缺陷能够在第一时间处理掉,减少在服务器上的异常的方式。

    虽然用了我一两个小时才完成这个插件的安装及其简单的使用,但是总的来说还是比较顺利的,如果不是遇到Sonar的Eclipse插件换了,我也不会用那么多时间。

    不过至少明白遇到问题要一步一步解决,完全不用担心自己的英文看不懂,也算是一种成长。

    ---------------------------------------------------------------------------------------------------------------------------------------我觉得这是一个工具,感兴趣的可以尝试尝试,下期IDEA插件的安装和配置

  • 相关阅读:
    ZooKeeper的安装和API
    Flume案例Ganglia监控
    二十五、小程序的图片预览(放大滑动)
    二十四、小程序中改变checkbox和radio的样式
    二十三、小程序中的三级下拉框(下拉菜单)
    二十二:制作app的时候超出部分不能滑动
    二十一、当锚点遇到fixed(margin和padding)
    二十:让行内元素在div中垂直居中
    十九、多文件上传(ajaxFileupload实现多文件上传功能)
    十六、字符串和数组之间的转换
  • 原文地址:https://www.cnblogs.com/varchar-pig/p/14224618.html
Copyright © 2020-2023  润新知