sonarqube问题修改总结
三、可读性问题
1、用isEmpty()去做容器的空或者非空判断。
说明:Use isEmpty() to check whether the collection is empty or not.
原因:增加可读性。
2、删除没有用的import、field、class、method。
原因:增加可维护性。
修改建议:删除无用代码块、申明、方法和引用。
3、if语句被拆分不利于可读
说明:Merging collapsible if statements increases the code's readability.
3、方法内多个return出口
错误示例:
解决建议:定义一个return,赋值,统一返回。
4、修改了入参说明:修改了入参降低了代码的可读性,丢失了原始参数的值。
错误示例:
5、用equalsIgnoreCase()方法替代字符串的无视大小写比较。
说明:Replace these toUpperCase()/toLowerCase() and equals() calls with a single equalsIgnoreCase() call.
原因:参数应当是final的
解决建议,利用一个临时变量充当需要变动的参数。
为什么要使用 SonarQube
SonarQube只是质量管理工具(平台)
SonarQube的产品涵盖了其创造者所称的七大品质:SonarQube不仅解决了错误,还解决了编码规则,测试覆盖,重复,API文档,复杂性和架构,并在仪表盘中提供所有这些详细信息。
SonarQube 从以下几个方面检查我们的代码:
代码可靠性
检测错误
SonarQube提出的问题要么是明显的错误代码,要么是更可能没有给出预期行为的代码。查找蕞棘手的错误,轻松地在代码路径中导航,同时指出在多个位置发现的问题。
异味代码
“有臭味”的代码(可能)完成了应有的工作,但将很难维护。在蕞坏的情况下,这将令人迷惑,以至于维护人员可能会无意间引入错误。示例包括重复的代码,单元测试中未发现的代码以及过于复杂的代码。
安全漏洞
SonarQube可帮助您查找和跟踪代码中的不安全性。示例包括SQL注入,硬编码密码和管理不善的错误。
自定义规则
SonarQube代码分析器包括默认的质量配置文件,这些配置文件提供了无争议规则集的强大价值。默认的质量配置文件适用于大多数项目,但是您可以轻松调整它们以完全满足您的需求。
Sonarqube安装插件
通过web页面可以安装各种插件
目前有如下插件:
1、代码分析插件
2、其他语言:CSS Erlang GroovyLuaPuppet
3、外部分析工具集成
AEM Rules 、Android Lint、Checkstyle 、Findbugs 、jDepend 、PMD 、Sonargraph 7、Sonargraph Integration 、Xanitizer