我正在尝试集成Sonar来进行代码审查和分析。我在typo3中工作,所以我在rules.xml中添加了以下规则
<?xml version="1.0" encoding="ISO-8859-1"?>
<rules>
<rule key="TYPO3.Commenting.FunctionDocComment.TagIndenst"
priority="MAJOR">
<category name="Maintainability" />
<name>Tag comment incorrectly indented</name>
<configKey>TAG_INDENT</configKey>
<description>@category tag comment incorrectly indented</description>
</rule>
<rule
key="TYPO3.Commenting.NoAuthorAnnotationInFunctionDocComment.AuthorAnnotation"
priority="MAJOR">
<category name="Maintainability" />
<name>NoAuthorAnnotationInFunctionDocComment</name>
<configKey>TAG_INDENT</configKey>
<description>@category tag comment incorrectly indented</description>
</rule>
<rule key="TYPO3.Commenting.ValidCommentIndent.ValidCommentIndent"
priority="MAJOR">
<category name="Maintainability" />
<name>ValidCommentIndent</name>
<configKey>T_COMMENT</configKey>
<description>@category tag comment incorrectly indented</description>
</rule>
<rule key="TYPO3.Commenting.ValidCommentLineLength.ValidCommentLineLength"
priority="MAJOR">
<category name="Maintainability" />
<name>ValidCommentLineLength</name>
<configKey>T_COMMENT, T_DOC_COMMENT</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.Commenting.ValidCommentLineLength.ValidCommentLineLength"
priority="MAJOR">
<category name="Maintainability" />
<name>ValidCommentLineLength</name>
<configKey>T_COMMENT, T_DOC_COMMENT</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.ControlStructures.AlignedBreakStatement.AlignedBreakStatement"
priority="MAJOR">
<category name="Maintainability" />
<name>AlignedBreakStatement</name>
<configKey>T_BREAK,</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.ControlStructures.DisallowEachInLoopCondition.DisallowEachInLoopCondition"
priority="MAJOR">
<category name="Maintainability" />
<name>DisallowEachInLoopCondition</name>
<configKey>T_WHILE,</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.ControlStructures.DisallowElseIfConstruct.DisallowElseIfConstruct"
priority="MAJOR">
<category name="Maintainability" />
<name>DisallowElseIfConstruct</name>
<configKey>T_WHILE,</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.ControlStructures.ValidBreakStatementsInSwitches.ValidBreakStatementsInSwitches"
priority="MAJOR">
<category name="Maintainability" />
<name>ValidBreakStatementsInSwitches</name>
<configKey>T_BREAK,</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.ControlStructures.ValidDefaultStatementsInSwitches.ValidDefaultStatementsInSwitches"
priority="MAJOR">
<category name="Maintainability" />
<name>ValidDefaultStatementsInSwitches</name>
<configKey>T_SWITCH,</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.Debug.DebugCode.DebugCode"
priority="MAJOR">
<category name="Maintainability" />
<name>DebugCode</name>
<configKey>T_STRING, T_COMMENT,</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.Files.EncodingUtf8.EncodingUtf8"
priority="MAJOR">
<category name="Maintainability" />
<name>EncodingUtf8</name>
<configKey>T_OPEN_TAG</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.Files.IncludingFile.IncludingFile"
priority="MAJOR">
<category name="Maintainability" />
<name>IncludingFile</name>
<configKey>T_INCLUDE_ONCE, T_REQUIRE, T_INCLUDE</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.Files.LowercasedFilename.LowercasedFilename"
priority="MAJOR">
<category name="Maintainability" />
<name>LowercasedFilename</name>
<configKey>T_OPEN_TAG</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.Files.OneClassPerFile.OneClassPerFile"
priority="MAJOR">
<category name="Maintainability" />
<name>OneClassPerFile</name>
<configKey>T_CLASS</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.Files.OneInterfacePerFile.OneInterfacePerFile"
priority="MAJOR">
<category name="Maintainability" />
<name>OneInterfacePerFile</name>
<configKey>T_INTERFACE</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.NamingConventions.ValidFunctionName.ValidFunctionName"
priority="MAJOR">
<category name="Maintainability" />
<name>ValidFunctionName</name>
<configKey>T_FUNCTION</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.NamingConventions.ValidVariableName.ValidVariableName"
priority="MAJOR">
<category name="Maintainability" />
<name>ValidVariableName</name>
<configKey></configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.PHP.CharacterAfterPHPClosingTag.CharacterAfterPHPClosingTag"
priority="MAJOR">
<category name="Maintainability" />
<name>CharacterAfterPHPClosingTag</name>
<configKey>T_CLOSE_TAG</configKey>
<description>@category</description>
</rule>
<rule key="TYPO3.PHP.CharacterBeforePHPOpeningTag.CharacterBeforePHPOpeningTag"
priority="MAJOR">
<category name="Maintainability" />
<name>CharacterBeforePHPOpeningTag</name>
<configKey>T_OPEN_TAG</configKey>
<description>@category</description>
</rule>
</rules>当代码分析时,我无法得到任何违规行为,请帮助?
发布于 2013-01-18 16:44:00
我猜您遵循了解释如何向Sonar规则存储库添加新规则的指导原则:http://docs.codehaus.org/display/SONAR/Extending+PHP+Coding+Rules#ExtendingPHPCodingRules-ExtendingPHPCodesnifferRules
但是您可能还没有将这些新规则添加到您正在使用的质量配置文件中。这就是为什么你没有违规的原因。查看此页面以了解如何在Sonar中处理质量配置文件:http://docs.codehaus.org/display/SONAR/Quality+Profiles
发布于 2013-01-18 20:46:55
规则应仅链接此链接
<rule key="TYPO3.Commenting.ValidCommentLineLength.ValidCommentLineLength"
priority="MAJOR">
<category name="Maintainability" />
<name>TYPO3.Commenting.ValidCommentLineLength.ValidCommentLineLength</name>
<Key>TYPO3.Commenting.ValidCommentLineLength</Key>
<description>@category</description>
</rule>我还把'configKey‘改成了'Key’
"key“属性(在"rules.xml”文件中)的值应该等于您将在PhpCodesniffer报告中找到的"source“属性的值。
https://stackoverflow.com/questions/14393038
复制相似问题