Sonarqube检测
Sonar是一个用于代码质量管理的开源平台,代理商sonarqube 插件,用于管理源代码的质量,可以从七个维度检测代码质量,通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测
Rules提示
当然,这对于初学来说是一个很好的教程,搞懂这些规则可以避免bugs的出现,提供自己的开发能力。
rule正确实例提示
糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要的回归测试
重复
显然程序中包含大量粘贴的代码是质量低下的 , sonar可以展示源码中重复严重的地方
缺乏单元测试
sonar可以很方便地统计并展示单元测试覆盖率
没有代码标准
sonar可以通过PMD,CheckStyle,陕西sonarqube 插件,Findbugs等等代码规则检测工具规范代码编写
没有足够的或者过多的注释
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降,而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
潜在的bug
sonar可以通过PMD,中国sonarqube 插件,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug
糟糕的设计
通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则;
通过sonar可以管理第三方的jar包可以利用LCOM4检测单个任务规则的应用情况 ,检测耦合





3. Sonar 组成

4. Sonar 集成过程

开发人员在他们的ide中使用SonarLint运行分析本地代码。
开发人员将他们的代码提交到代码管理平台中(SVN,GIT等)
持续集成工具自动触发构建,调用SonarScanner对项目代码进行扫描分析
分析报告发送到SonarQube Server中进行加工
SonarQube Server 加工并且保存分析报告到SonarQube Database中,代理商sonarqube 插件,通过UI显示分析报告
Sonarqube关于机器部署
1、只能有1个SonarQube Server 和1个 SonarQube Database
2、考虑性能优化,每一个组件(server, database, scanners)应当安装在不同的机器上,并且是服务器。
3、SonarQubeScanners 可以水平扩展机器
4、所有机器的时间必须要同步
5、SonarQube Server 和 SonarQube Database 必须在同一网段
6、SonarQubeScanners 与SonarQube Server可以不在同一网段
7、SonarQube Scanners 与 SonarQubeDatabase之间没有通信
中国sonarqube 插件-华克斯(推荐商家)由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司实力不俗,信誉可靠,在江苏 苏州 的行业软件等行业积累了大批忠诚的客户。华克斯带着精益求精的工作态度和不断的完善创新理念和您携手步入辉煌,共创美好未来!