概述
SonarQube 对源代码执行规则以生成问题。有四种类型的规则:
对于代码异味和错误,预计零误报。至少这是目标,因此开发人员不必怀疑是否需要修复。
对于漏洞,目标是让超过 80% 的问题是真实的。
安全热点规则将注意力引向对安全敏感的代码。预计80%以上的问题会在开发者审核后快速解决为“已审核”。
规则页面是您可以发现所有现有规则或基于提供的模板创建新规则的入口点。
默认情况下,当进入顶部菜单项“规则”时,您将看到安装在 SonarQube 实例上的所有可用规则。您可以根据左侧窗格中的搜索条件缩小选择范围:
如果选择了质量配置文件,还可以检查其活动严重性以及它是否被继承。有关更多信息,请参阅质量配置文件文档。
要查看规则的详细信息,请单击它,或使用向右箭头键。除了基本规则数据外,您还可以查看它在哪些(如果有)配置文件中处于活动状态,以及使用它提出了多少未解决的问题。
仅当您具有正确的权限(“管理质量配置文件和门户”)时,以下操作才可用:
规则模板由插件提供,作为用户在 SonarQube 中定义自己的自定义规则的基础。要查找模板,请从“模板”下拉列表中选择“仅显示模板”方面:
要从模板创建自定义规则,请单击“自定义规则”标题旁边的“创建”按钮并填写以下信息:
您可以通过单击“自定义规则”部分中的链接,从模板导航到从模板定义的自定义规则的详细信息。
自定义规则被视为与任何其他规则一样,不同之处在于您可以编辑或删除它们:
注意:删除自定义规则时,它不会从 SonarQube 实例中物理删除。相反,它的状态设置为“REMOVED”。这允许与此规则相关的当前或旧问题在 SonarQube 中正确显示,直到它们被完全删除。
可以添加自定义编码规则。有关详细信息和教程,请参阅添加编码规则。
规则是如何分类的? SonarQube 质量模型将规则分为四类:错误、漏洞、安全热点和代码异味。根据以下问题的答案将规则分配给类别:
关于代码的规则是明显错误的,还是更可能是错误的? 如果答案是“是”,那么这是一个错误规则。 如果不...
是关于可以被黑客利用的代码的规则吗? 如果是这样,那么这是一个漏洞规则。 如果不...
关于代码的规则是安全敏感的吗? 如果是这样,那么这是安全热点规则。 如果不...
规则既不是错误也不是漏洞吗? 如果是这样,那么这是代码气味规则。
为了给规则分配严重性,我们提出了更多的问题。第一个基本上是:
可能发生的最糟糕的事情是什么?
在回答这个问题时,我们试图在不预测世界末日的情况下考虑墨菲定律。
然后我们评估最坏事的影响和可能性(参见下面的严重性和可能性如何决定?)是高还是低,并将答案插入真值表:
为了评估规则的严重性,我们从最坏的事情(请参阅上面的严重性如何分配?)开始,并询问特定类别的问题。
错误 影响:最坏的事情是否会导致应用程序崩溃或损坏存储的数据?
可能性:最坏的事情发生的概率是多少?
漏洞 影响:利用 Worst Thing 是否会对您的资产或用户造成重大损害?
可能性:黑客能够利用最坏的东西的概率是多少?
安全热点 安全热点未分配严重性,因为在审查它们之前,不知道是否真正存在潜在漏洞。
更多信息:www.sonarqube.cc
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。