-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpmd-ruleset.xml
75 lines (64 loc) · 3.06 KB
/
pmd-ruleset.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version="1.0"?>
<ruleset name="Custom ruleset"
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 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
<description>
This list should be somewhat static. Most of the annoying checks have been disabled. That said if we need to
exclude rules we can over time.
If there are specific instances we can use suppressions like..
@SuppressWarnings("PMD.UseUtilityClass") //Doesn't make sense as this is main...
...or end the line with "// NOPMD" and an explanation comment. If we need to, but for the most part I would like
to avoid suppressing and ignoring. If you do suppress, provide a note why.
</description>
<rule ref="category/java/bestpractices.xml">
<exclude name="AccessorMethodGeneration"/>
<exclude name="GuardLogStatement"/>
<exclude name="JUnitTestsShouldIncludeAssert"/>
<exclude name="UnusedPrivateMethod"/>
</rule>
<rule ref="category/java/codestyle.xml">
<exclude name="AbstractNaming"/> <!-- Recommended; but not required -->
<exclude name="AtLeastOneConstructor"/> <!-- Review this one -->
<exclude name="AvoidFinalLocalVariable"/>
<exclude name="CallSuperInConstructor"/>
<exclude name="CommentDefaultAccessModifier"/>
<exclude name="DefaultPackage"/>
<exclude name="LocalVariableCouldBeFinal"/> <!-- Recommended; but not required -->
<exclude name="LongVariable"/>
<exclude name="MethodArgumentCouldBeFinal"/>
<exclude name="OnlyOneReturn"/>
<exclude name="ShortClassName"/>
<exclude name="ShortVariable"/>
<exclude name="TooManyStaticImports"/>
<exclude name="UnnecessaryConstructor"/>
<exclude name="UnnecessaryFullyQualifiedName"/>
<exclude name="AvoidUsingNativeCode"/>
</rule>
<rule ref="category/java/design.xml">
<exclude name="DataClass"/>
<exclude name="LawOfDemeter"/>
<exclude name="LoosePackageCoupling"/>
<exclude name="NcssCount"/> <!-- Review this one -->
<exclude name="UseObjectForClearerAPI"/> <!-- Review this one -->
<exclude name="SignatureDeclareThrowsException"/>
<exclude name="AvoidCatchingGenericException"/>
</rule>
<rule ref="category/java/documentation.xml">
<exclude name="CommentSize"/>
<exclude name="CommentRequired"/>
</rule>
<rule ref="category/java/errorprone.xml">
<exclude name="BeanMembersShouldSerialize"/>
<exclude name="NonStaticInitializer"/>
<exclude name="DoNotCallSystemExit"/>
<exclude name="DataflowAnomalyAnalysis"/>
</rule>
<rule ref="category/java/multithreading.xml">
<exclude name="DoNotUseThreads"/>
<exclude name="AvoidSynchronizedAtMethodLevel"/>
</rule>
<rule ref="category/java/performance.xml">
<exclude name="AvoidInstantiatingObjectsInLoops"/>
</rule>
</ruleset>