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

http://sonar.oschina.net/

SonarLint插件的在线安装

1.    Eclipse工具栏选择Help->Eclipse MarketPlace,如下图所示:

2.    弹出EclipseMarketPlace界面,在Find栏输入sonar就可以搜索出sonar相关的插件,选择SonarLint2.0.0,Install->Confirm->选择同意协议->Finish,如下图所示:

3.    3

安装成功后,会弹出“Software Updates”界面提示需要重启Eclipse使安装生效,点击“Yes”,重启之后就可以使用了,如下图所示

SonarLint的使用

1.  Eclipse工具栏选择Window->Show View->other,如下图所示:

2.  弹出“Show View”界面,输入Sonar,选择“SonarLintIssues”点击“OK”,如下图所示:

3.  打开需要进行代码审查的java或js文件,SonarLint将会自动进行代码审查,在控制台输出审查结果,如下图所示:

问题级别

一般情况下我们需要确保 不出现次要(包括次要)以上级别的错误。

4.  SonarLint默认在打开文件的时候自动进行代码审查。如果不想使用自动审查,设置方法:右键单击项目->Properties->SonarLint->取消“Run SonarLint automatically”->Apply->OK,如下图所示:

5.  手动审查:右键审查文件->SonarLint->Analyze分析文件,如下图所示:

6.  双击控制台的审查结果,可以自动定位到具体被审查内容的位置。如果修改代码,控制台将会自动刷新审查结果,如下图所示:

7.      右键审查结果,选择“Rule description”,查看针对单个问题的分析及改进建议,如下图所示:

传说中的 SonarLint的更多相关文章

  1. SonarLint(Sonar) 代码质量管理

    一.Sonar是什么? Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groov ...

  2. SonarLint插件的安装与使用

    注意:版本要求Eclipse(4.2,3.8)以上,Java3.1.2,JavaScript 2. 一.SonarLint插件的安装方式 1.安装方式一:在线安装 1)Eclipse工具栏选择Help ...

  3. 这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的Spring.Net了吧

                                                            这个好像.也许.或许.大概.应该.Maybe真的可以算是传说中的Spring.Net了吧 ...

  4. 转载:传说中的T检验

    第二周结束:传说中的T检验 小耿2014-01-21 10:58 本文和上一篇笔记一样:语言十分啰嗦.请大家忍耐…… 以前我不懂统计的时候(现在也不懂),只知道数据出来了要做三件事:1,检验一下数据是 ...

  5. 那传说中的P、NP以及NPC问题

    那传说中的P.NP以及NPC问题     (这里只是自己的一些总结) 在讲这几个问题之前,有几个东西是必须要说的,包括时间复杂度.空间复杂度.图灵机什么的.那么我们就慢慢来一一说来.    图灵机:图 ...

  6. idea 集成sonarLint

    1.目标 idea集成sonar的代码检查,实现可以在提交代码前就检查你的代码,而不是将代码提交之后,之后再去检查. Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量 ...

  7. Java代码规范与质量检测插件SonarLint

    1.  SonarLint SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道 下载与安装 在需要检测的单个文件或者单个项目上右键 --> Analyze --> ...

  8. SonarLint 代码质量管理

    Below are the instructions of how to install and use SonarLint. Install SonarLint Extensions in VS20 ...

  9. idea 集成sonarLint检查代码bugs

    1.目标 idea集成sonar的代码检查,实现可以在提交代码前就检查你的代码,而不是将代码提交之后,之后再去检查. Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量 ...

随机推荐

  1. Jmeter4.0安装

    1.检查安装环境 1.1 JDK要求 JDK版本:1.8 1.2 检查是否安装JDK win + R 快捷键打开运行,输入 cmd 打开面板,在面板中输入 java -version,出现如下信息,即 ...

  2. SQL行列乾坤大挪移

    “生活总是这样,有时候,你需要一个苹果,但别人却给了你一个梨.” 今天dalao邮件里需要添加一张每月累计长长的图,可是,拿到手上的SQL导出数据不符合我最爱的pyecharts的数据输入格式,头大. ...

  3. Kafka安装之三 spring-kafka实践

    一.spring-kafka配置详解 1.1 要是用spring-kafka 我们首先要在pom要.xml中引入spring-kafka包 <dependencies> <depen ...

  4. We are writing to let you know we have removed your selling privileges

     Hello, We are writing to let you know we have removed your selling privileges, canceled your listin ...

  5. Java线上应用故障排查之一:高CPU占用 (转)

    一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环. (友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hank ...

  6. B. Counting-out Rhyme(约瑟夫环)

    Description n children are standing in a circle and playing the counting-out game. Children are numb ...

  7. 王者荣耀交流协会第四次Scrum立会

    会议时间:2017年10月23号   18:00-18:28,时长28分钟. 会议地点:二食堂一楼第四个档口对着的靠路边的桌子. 立会内容: 1.小组成员汇报今日工作: 2.关于折线图与饼状图生成问题 ...

  8. emmmmmm

    211606342杨艺勇 211606379王熙航 单元测试 对每一个代码块进行测试,返回测试结果并和预期结果进行比对 对源代码进行相应的重构,以适应测试代码的调用,且不影响源代码的正常运行 通过与构 ...

  9. struts常量<constant>说明

    1.<constant name="struts.action.extension" value="do" />这个时候访问action都必须加.d ...

  10. 关于mysql无法添加中文数据的问题以及解决方案

    今天弄了一天的mysql数据库,就是被一个mysql数据库乱码的问题给缠住了.现在记录一下这个问题,虽然这个问题不是什么太大的事情,但还是记录一下. 问题是这样的: 1.先在mysql的安装文件当中, ...