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

  • 更多代码分析工具可以查看:常用 Java 静态代码分析工具的分析与比较

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

首先需要说明的是

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

进入SonarLint官网

点击download,进入如下页面

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

安装完后重启

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

三、使用示例

右键项目->Configure->enable sonarlint

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

在文件中可以看到代码相应的不合理的地方被蓝色底线划出来了

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

修改后,如下图

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

然后又提示我添加override注解

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

四、总结

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

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

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

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

  • 更多代码分析工具可以查看:常用 Java 静态代码分析工具的分析与比较

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

首先需要说明的是

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

进入SonarLint官网

点击download,进入如下页面

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

安装完后重启

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

三、使用示例

右键项目->Configure->enable sonarlint

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

在文件中可以看到代码相应的不合理的地方被蓝色底线划出来了

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

修改后,如下图

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

然后又提示我添加override注解

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

SonarLint(Sonar) 代码质量管理
    

SonarLint(Sonar) 代码质量管理

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

四、总结

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

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

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

相关文章:

  • 2021-09-13
  • 2022-02-14
  • 2021-09-28
  • 2022-12-23
  • 2021-07-16
  • 2022-12-23
  • 2021-07-30
  • 2021-04-23
猜你喜欢
  • 2021-09-01
  • 2021-04-01
  • 2021-11-02
  • 2022-12-23
  • 2021-09-01
相关资源
相似解决方案