机械设备
华中代理商sonarqube代理商货真价实「华克斯」
2024-06-13 06:01  浏览:37
非会员信息
8分钟前 华中代理商sonarqube代理商货真价实「华克斯」[华克斯25b461e]内容:

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问题修改总结

二、BUG风险

1、声明应该使用Java集合接口,而不是具体的实现类,如“linkedList”说明:声明应该使用Java集合接口,而不是具体的实现类,如“linkedList”

原因:定义良好的接口来隐藏实现细节。

错误示例:

解决建议:

2、实体工具类应当隐藏其构造器说明:实用工具类,静态成员的集合,其目的并非要实例化。应该没有公共构造函数。

错误示例:

修改建议:

3、字符创比较上应该防止空指针异常说明:字符创比较上应该考虑到空指针异常的情况,一个变量在与字符串比较时,应当把字符串放在左边。

错误示例:

正确示例:

使用SonarQube Runner分析源码

预置条件

已安装SonarQube Runner且环境变量已配置,即sonar-runner命令可在任意目录下执行

1.在项目源码的根目录下创建sonar-perties配置文件

2.执行分析

切换到项目源码根目录,执行命令

与IDE关联

蕞后,当然了,得与IDE相关联,才能更方便地实时查看

SonarQube平台由四部分组成:

一、SonarQubeServer

1) Web Server, 浏览质量的快照和配置sonarqube实例

2)SearchServer based on Elasticsearch, 执行来自页面的查询请求

3)Compute EngineServer ,处理代码分析报告并保存在sonarqube数据库

二、SonarQube Database :

1) sonarqube实例的配置(安全、插件设置等)

2) 项目、视图等的质量快照。

三、SonarQube Plugins

语言、SCM、集成、身份验证和治理插件

一个或多个sonarqube Scanners运行分析项目

联系方式
发表评论
0评