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. youtube视频下载和搬运的方法

    youtube全球最大的视频网站, 全世界每天有三分之一的网民在youtube上观看视频, 可是大部分人不知道, 在这些网民有一小部分人是依靠youtube生存的, 他们上传视频到youtube, y ...

  2. SteamVR Unity Plugin - v2.0.1中的InteractionSystem

    最近写VR项目的时候用到了SteamVR Unity Plugin - v2.0.1插件,感觉比之前用到的SteamVR plugin for Unity - v1.2.2版本改进了很多,就算不用VR ...

  3. Python数据可视化的10种技能

    今天我来给你讲讲Python的可视化技术. 如果你想要用Python进行数据分析,就需要在项目初期开始进行探索性的数据分析,这样方便你对数据有一定的了解.其中最直观的就是采用数据可视化技术,这样,数据 ...

  4. (python)剑指Offer 面试题51:数组中重复的数字

    问题描述 在长度为n的数组中,所有的元素都是0到n-1的范围内. 数组中的某些数字是重复的,但不知道有几个重复的数字,也不知道重复了几次,请找出任意重复的数字. 例如,输入长度为7的数组{2,3,1, ...

  5. 【snmp】Linux开启snmp及查询

    1.Linux snmp 1.安装snmp yum install -y net-snmp* 2.备份snmp配置 cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.co ...

  6. Debian 9 + Windows 10 双系统安装体验

    很久之前就想在自己的电脑上也装个 Debian 玩玩了,最近正好有时间折腾,就踩了踩坑在笔记本上装了玩玩~ UEFI + GPT 解决启动相关的麻烦配置 如果在支持 UEFI 的电脑上安装 Debia ...

  7. How to pass an Amazon account review

    Have you ever sold products on Amazon? How about sold so much within the first week that amazon deci ...

  8. Appstate的几种状态及在android 和ios触发

    AppState能告诉你当前应用是在前台还是在后台,或者处于切换应用的状态,并且能在状态变化的时候通知你. AppState 通常在处理推送通知的时候用来决定内容和对应的行为 一: App State ...

  9. Beta阶段第2周/共2周 Scrum立会报告+燃尽图 02

    此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2410] 版本控制地址   https://git.coding.net ...

  10. 《Linux内核分析》学习总结与学习心得

    一.目录列表 第一周:计算机是如何工作的? http://www.cnblogs.com/dvew/p/5224866.html 第二周:操作系统是如何工作的? http://www.cnblogs. ...