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是一个很的代码分析工具,可以帮助程序员们发现很多潜在的问题和BUG。
Sonar可以从以下维度检测代码质量。
1. 不遵循代码标准
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。
3. 注释不足或者过多
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
4. 缺乏单元测试
sonar可以很方便地统计并展示单元测试覆盖率。
Sonar-scanner为client。用于收集检查数据并且发送到server中。也就是传统的C/S关系:
sonarqube问题修改总结
四、异常处理
1、定义一个专门的异常用于异常处理
说明:Using such generic excepti0ns as Error, RuntimeException,Throwable, andException prevents calling methods from handling true, system-generated excepti0ns differently than application-generated errors.
错误示例:
修改建议:定义一个自己的异常类继承Exception用于包装RuntimeException。
2、单个方法不要跑出多个未处理的异常
Sonarqube衡量代码质量的几个指标
1.Bugs Bug是出现了明显错误或是高度近似期望之外行为的代码。
2.漏洞 漏洞是指代码中可能出现被hacker利用的潜在风险点。
3.安全热点 安全敏感代码需要手工审核,以便判断是否存在安全漏洞。
4.异味 代码异味会困扰代码的维护者并降低他们的开发效率。主要的衡量标准是修复它们所需的时间。
5.重复率 新代码中的重复行密度 (%),重复行数,重复代码块
6.行数 程序中代码的行数
以上信息由专业从事中国sonarqube静态安全扫描工具的华克斯于2024/5/1 12:47:51发布
转载请注明来源:http://m.herostart.com/qynews/hksxxkj-2745226175.html