我目前正在Sonar中实施一些MISRA C规则。我目前的规则是避免递归。我从
开始//statement[@tokenValue=ancestor::functionDefinition/functionDeclarator/functionName/@tokenValue]
为避免在函数定义中使用相同的函数名,但当然可以使用具有相同名称但签名不同的其他函数。
因此我有两个问题:
答案 0 :(得分:0)
不推荐使用C插件。它已被C / C ++插件取代。请参阅http://www.sonarsource.com/products/plugins/languages/cpp/。
在实施新的编码规则之前,您应该考虑它是否特定于您自己的上下文,或者可能使其他人受益。如果它可能使其他人受益,您可以在开发人员邮件列表中提出它们。如果SonarQube团队发现您提出的规则很有趣,可以直接在相关语言插件中实现。这对您来说意味着更少的维护,并为他人带来益处。见http://docs.codehaus.org/display/SONAR/Extending+Coding+Rules