All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.danilopianini.javaqa.pmd.xml Maven / Gradle / Ivy

<?xml version="1.0"?>
<ruleset name="Ruleset by Danilo Pianini"
         xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
    <description>Rules selected by Danilo Pianini</description>
    <rule ref="category/java/bestpractices.xml">
        <exclude name="AccessorClassGeneration" />
        <exclude name="AccessorMethodGeneration" />
        <exclude name="ConstantsInInterface" />
        <exclude name="GuardLogStatement" />
        <exclude name="JUnitAssertionsShouldIncludeMessage" />
        <exclude name="JUnitTestContainsTooManyAsserts" />
        <exclude name="JUnitTestsShouldIncludeAssert" />
        <exclude name="OneDeclarationPerLine" />
        <exclude name="PositionLiteralsFirstInCaseInsensitiveComparisons" />
        <exclude name="PositionLiteralsFirstInComparisons" />
        <exclude name="UseVarargs" />
    </rule>
    <rule ref="category/java/bestpractices.xml/AvoidReassigningLoopVariables">
        <properties>
            <property name="foreachReassign" value="deny" />
            <property name="forReassign" value="allow" />
        </properties>
    </rule>
    <rule ref="category/java/codestyle.xml">
        <exclude name="AbstractNaming" />
        <exclude name="AtLeastOneConstructor" />
        <exclude name="AvoidFinalLocalVariable" />
        <exclude name="AvoidPrefixingMethodParameters" />
        <exclude name="AvoidUsingNativeCode" />
        <exclude name="CallSuperInConstructor" />
        <exclude name="CommentDefaultAccessModifier" />
        <exclude name="ConfusingTernary" />
        <exclude name="EmptyMethodInAbstractClassShouldBeAbstract" />
        <exclude name="LongVariable" />
        <exclude name="MDBAndSessionBeanNamingConvention" />
        <exclude name="OnlyOneReturn" />
        <exclude name="ShortClassName" />
        <exclude name="ShortMethodName" />
        <exclude name="ShortVariable" />
        <exclude name="TooManyStaticImports" />
    </rule>
    <rule ref="category/java/codestyle.xml/ClassNamingConventions">
        <properties>
            <property name="utilityClassPattern" value="[A-Z][a-zA-Z0-9]+" />
        </properties>
    </rule>
    <rule ref="category/java/design.xml">
        <exclude name="AbstractClassWithoutAnyMethod" />
        <exclude name="AvoidDeeplyNestedIfStmts" />
        <exclude name="CognitiveComplexity" />
        <exclude name="CouplingBetweenObjects" />
        <exclude name="CyclomaticComplexity" />
        <exclude name="DataClass" />
        <exclude name="ExcessiveClassLength" />
        <exclude name="ExcessiveImports" />
        <exclude name="ExcessiveMethodLength" />
        <exclude name="ExcessiveParameterList" />
        <exclude name="ExcessivePublicCount" />
        <exclude name="GodClass" />
        <exclude name="LawOfDemeter" />
        <exclude name="LoosePackageCoupling" />
        <exclude name="ModifiedCyclomaticComplexity" />
        <exclude name="NcssConstructorCount" />
        <exclude name="NcssCount" />
        <exclude name="NcssMethodCount" />
        <exclude name="NcssTypeCount" />
        <exclude name="NPathComplexity" />
        <exclude name="StdCyclomaticComplexity" />
        <exclude name="SwitchDensity" />
        <exclude name="TooManyFields" />
        <exclude name="TooManyMethods" />
        <exclude name="UseObjectForClearerAPI" />
    </rule>
    <rule ref="category/java/documentation.xml">
        <exclude name="CommentRequired" />
        <exclude name="CommentSize" />
        <exclude name="UncommentedEmptyMethodBody" />
    </rule>
    <rule ref="category/java/errorprone.xml">
        <exclude name="AvoidFieldNameMatchingMethodName" />
        <exclude name="AvoidLiteralsInIfCondition" />
        <exclude name="CloseResource" />
        <exclude name="DataflowAnomalyAnalysis" />
        <exclude name="DoNotTerminateVM" />
        <exclude name="ImplicitSwitchFallThrough" />
        <exclude name="NonSerializableClass" />
        <exclude name="NonStaticInitializer" />
        <exclude name="NullAssignment" />
        <exclude name="ReturnEmptyArrayRatherThanNull" />
        <exclude name="TestClassWithoutTestCases" />
        <exclude name="UseProperClassLoader" />
    </rule>
    <rule ref="category/java/multithreading.xml">
        <exclude name="AvoidSynchronizedAtMethodLevel" />
        <exclude name="AvoidUsingVolatile" />
        <exclude name="DoNotUseThreads" />
        <exclude name="UseConcurrentHashMap" />
    </rule>
    <rule ref="category/java/performance.xml">
        <exclude name="AvoidFileStream" />
        <exclude name="AvoidInstantiatingObjectsInLoops" />
        <exclude name="AvoidUsingShortType" />
        <exclude name="SimplifyStartsWith" />
        <exclude name="TooFewBranchesForASwitchStatement" />
    </rule>
    <rule ref="category/java/security.xml">
    </rule>
</ruleset>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy