一、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完成同样的功能。

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

进入SonarLint官网

点击download,进入如下页面

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

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

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

安装完后重启

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

三、使用示例

右键项目->Configure->enable sonarlint

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

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

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

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

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

修改后,如下图

然后又提示我添加override注解

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

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

<转自:http://www.cnblogs.com/lzb1096101803/p/4945844.html>

最新文章

  1. android上引入七牛 上传图片或者文件 最终整理版本(可用)
  2. Scribe日志收集工具
  3. .NET中的CTS、CLS和CLR
  4. view not attached to windows manager与This Toast was not created with Toast.makeText()
  5. C Primer Plus(第五版)3
  6. sensor_HAL分析
  7. win7 提升windows服务权限使非管理员用户可以控制windows服务的开启和关闭
  8. python手记(31)
  9. C# .net 如何根据访问者IP获取所在地区
  10. DLP底座(威创定制)
  11. 怎样处理iOS 5与iOS 6的 low-memory
  12. Gentoo本地化设置--Locale系统介绍
  13. 隐马尔可夫模型(HMM)攻略
  14. el 表达式遍历Map
  15. 老男孩Python全栈开发(92天全)视频教程 自学笔记09
  16. Android简易实战教程--第四十一话《vitamio网络收音机》
  17. js一行代码解决各种IE兼容问题
  18. 20155234 昝昕明 《网络对抗技术》实验一 PC平台逆向破解
  19. mysql时间格式化函数日期格式h和H区别
  20. jsp页面编写锚点,和html页面编写锚点

热门文章

  1. 怎么把多个GridView和Repeater导入到word或者excel中
  2. #8.12.16总结#background transition、animation、transform
  3. ionic + cordova 使用 cordova-plugin-crosswalk-webview 中的一些个坑
  4. Windows下安装scikit-learn
  5. SharePoint 2013 通过审计获取文档下载次数
  6. 线程安全、数据同步之 synchronized 与 Lock
  7. 【CoreData】 简单地使用
  8. Android SurfaceView的生命周期
  9. 约瑟夫环问题分析-C语言经典面试题
  10. APNS远程推送(转发)