0

コードのレビューと分析のために 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>

コード分​​析で違反が見つからない場合は、助けてください???

4

2 に答える 2

0

Sonar ルール リポジトリに新しいルールを追加する方法を説明するガイドラインに従っていると思います: http://docs.codehaus.org/display/SONAR/Extending+PHP+Coding+Rules#ExtendingPHPCodingRules-ExtendingPHPCodesnifferRules

しかし、使用している品質プロファイルにこれらの新しいルールを追加していない可能性があります。これが違反にならない理由です。このページを見て、ソナーで品質プロファイルを処理する方法を理解してください: http://docs.codehaus.org/display/SONAR/Quality+Profiles

于 2013-01-18T08:43:59.857 に答える
0

ルールはこれのみをリンクする必要があります

<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」属性の値と同じである必要があります。

于 2013-01-18T12:46:55.020 に答える