Sonarqube检测
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量,通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测
Rules提示
当然,这对于初学来说是一个很好的教程,搞懂这些规则可以避免bugs的出现,提供自己的开发能力。
rule正确实例提示
糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要的回归测试
重复
显然程序中包含大量粘贴的代码是质量低下的 , sonar可以展示源码中重复严重的地方
缺乏单元测试
sonar可以很方便地统计并展示单元测试覆盖率
没有代码标准
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
没有足够的或者过多的注释
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降,而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
潜在的bug
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug
糟糕的设计
通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则;
通过sonar可以管理第三方的jar包可以利用LCOM4检测单个任务规则的应用情况 ,检测耦合
sonarQube的基本使用(一)
sonarQube的基本使用,包括配置规则集(质量配置)、配置质量阈、创建/配置项目、创建用户、创建用户组、以及权限配置,通知配置,问题处理,不包括sonarQube服务的搭建。
管理员主界面
管理员登陆后可看到sonarQube服务下所有项目的代码检查情况,并且工具栏会显示“配置按钮”,普通用户登录后工具栏没有配置按钮。
1.新建用户组
配置>>权限>>群组
创建>>输入信息创建成功后可在列表中看到创建的群组记录
点击成员按钮,可以为该群组添加成员
2.新建用户
输入用户信息
点击创建后,用户列表中显示刚才创建的用户
进入用户详情,会看到如下界面,选择“安全”tab页,输入令牌名称,点击生成,该令牌用以在执行代码检查命令时替代用户名/密码输入,提高安全性。
点击配置>>权限>>用户>>创建用户
选择“项目”tab页,为该用户选择项目,当该项目为“私有”项目时,则只能被分配的用户看到。
选择“我的账户”>>提醒,设置需要用户通知的场景
Sonarqube的优点:
(1)支持所有语言的检测。一个工具,搞定所有。
(2)灵活扩展,插拔式使用。自定义的代码检测规则,可自定义插件,独立打成JAR包放到SONARQUBE插件目录下,重启即生效,开发使用非常方便。而且自带UT验证框架,开发。
(3)规则支持多租户隔离。租户可定制自己的规则集。
(4)生态强大,业界有诸多插件,与jenkins友好集成。
(5)部署使用便捷。
(6)架构松耦合,通过与maven/jenkins等集成,将代码扫描的计算消耗迁移到业务或者构建方的资源上,极大的提升了自身的吞吐能力。