1 <?xml version="1.0" encoding="UTF-8"?>
2 <ruleset xmlns="http://pmd.sf.net/ruleset/1.0.0" name="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd" xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd">
3 <description>PMD Plugin preferences rule set Hewis
4 level 1 : not to be violated AREVA requirements
5 level 2 : not to be violated EURIWARE requirements
6 level 3 :should not be violated AREVA requirements
7 level 4 :should not be violated EURIWARE requirements
8 level 5 : good practices
11 <exclude-pattern>.*/test/.*</exclude-pattern>
13 <rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging">
14 <priority>5</priority>
16 <rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger">
17 <priority>5</priority>
19 <rule ref="rulesets/strings.xml/AvoidDuplicateLiterals">
20 <priority>2</priority>
22 <rule ref="rulesets/strings.xml/StringInstantiation">
23 <priority>5</priority>
25 <rule ref="rulesets/strings.xml/StringToString">
26 <priority>4</priority>
28 <rule ref="rulesets/strings.xml/InefficientStringBuffering">
29 <priority>5</priority>
31 <rule ref="rulesets/strings.xml/UnnecessaryCaseChange">
32 <priority>5</priority>
34 <rule ref="rulesets/strings.xml/UseStringBufferLength">
35 <priority>5</priority>
37 <rule ref="rulesets/strings.xml/AppendCharacterWithChar">
38 <priority>5</priority>
40 <rule ref="rulesets/strings.xml/ConsecutiveLiteralAppends">
41 <priority>5</priority>
43 <rule ref="rulesets/strings.xml/UseIndexOfChar">
44 <priority>4</priority>
46 <rule ref="rulesets/strings.xml/InefficientEmptyStringCheck">
47 <priority>5</priority>
49 <rule ref="rulesets/strings.xml/InsufficientStringBufferDeclaration">
50 <priority>5</priority>
52 <rule ref="rulesets/strings.xml/UselessStringValueOf">
53 <priority>5</priority>
55 <rule ref="rulesets/strings.xml/StringBufferInstantiationWithChar">
56 <priority>5</priority>
58 <rule ref="rulesets/strings.xml/UseEqualsToCompareStrings">
59 <priority>5</priority>
61 <rule ref="rulesets/strings.xml/AvoidStringBufferField">
62 <priority>5</priority>
64 <rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal">
65 <priority>4</priority>
67 <rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops">
68 <priority>4</priority>
70 <rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector">
71 <priority>4</priority>
73 <rule ref="rulesets/optimizations.xml/SimplifyStartsWith">
74 <priority>5</priority>
76 <rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends">
77 <priority>5</priority>
79 <rule ref="rulesets/optimizations.xml/UseArraysAsList">
80 <priority>5</priority>
82 <rule ref="rulesets/optimizations.xml/AvoidArrayLoops">
83 <priority>5</priority>
85 <rule ref="rulesets/optimizations.xml/UnnecessaryWrapperObjectCreation">
86 <priority>5</priority>
88 <rule ref="rulesets/optimizations.xml/AddEmptyString">
89 <priority>5</priority>
91 <rule ref="rulesets/typeresolution.xml/LooseCoupling">
92 <priority>5</priority>
94 <rule ref="rulesets/typeresolution.xml/CloneMethodMustImplementCloneable">
95 <priority>5</priority>
97 <rule ref="rulesets/typeresolution.xml/UnusedImports">
98 <priority>2</priority>
100 <rule ref="rulesets/typeresolution.xml/SignatureDeclareThrowsException">
101 <priority>2</priority>
103 <rule ref="rulesets/design.xml/UseSingleton">
104 <priority>5</priority>
106 <rule ref="rulesets/design.xml/SimplifyBooleanReturns">
107 <priority>5</priority>
109 <rule ref="rulesets/design.xml/SimplifyBooleanExpressions">
110 <priority>5</priority>
112 <rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault">
113 <priority>3</priority>
115 <rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts">
116 <priority>5</priority>
118 <rule ref="rulesets/design.xml/AvoidReassigningParameters">
119 <priority>5</priority>
121 <rule ref="rulesets/design.xml/SwitchDensity">
122 <priority>5</priority>
124 <rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod">
125 <priority>2</priority>
127 <rule ref="rulesets/design.xml/AccessorClassGeneration">
128 <priority>5</priority>
130 <rule ref="rulesets/design.xml/FinalFieldCouldBeStatic">
131 <priority>5</priority>
133 <rule ref="rulesets/design.xml/CloseResource">
134 <priority>2</priority>
136 <rule ref="rulesets/design.xml/NonStaticInitializer">
137 <priority>2</priority>
139 <rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt">
140 <priority>2</priority>
142 <rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement">
143 <priority>5</priority>
145 <rule ref="rulesets/design.xml/OptimizableToArrayCall">
146 <priority>5</priority>
148 <rule ref="rulesets/design.xml/BadComparison">
149 <priority>3</priority>
151 <rule ref="rulesets/design.xml/EqualsNull">
152 <priority>3</priority>
154 <rule ref="rulesets/design.xml/ConfusingTernary">
155 <priority>1</priority>
157 <rule ref="rulesets/design.xml/InstantiationToGetClass">
158 <priority>5</priority>
160 <rule ref="rulesets/design.xml/IdempotentOperations">
161 <priority>3</priority>
163 <rule ref="rulesets/design.xml/SimpleDateFormatNeedsLocale">
164 <priority>2</priority>
166 <rule ref="rulesets/design.xml/ImmutableField">
167 <priority>5</priority>
169 <rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass">
170 <priority>5</priority>
172 <rule ref="rulesets/design.xml/AssignmentToNonFinalStatic">
173 <priority>5</priority>
175 <rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass">
176 <priority>3</priority>
178 <rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel">
179 <priority>2</priority>
181 <rule ref="rulesets/design.xml/MissingBreakInSwitch">
182 <priority>2</priority>
184 <rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify">
185 <priority>5</priority>
187 <rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause">
188 <priority>5</priority>
190 <rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod">
191 <priority>2</priority>
193 <rule ref="rulesets/design.xml/SimplifyConditional">
194 <priority>5</priority>
196 <rule ref="rulesets/design.xml/CompareObjectsWithEquals">
197 <priority>1</priority>
199 <rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons">
200 <priority>4</priority>
202 <rule ref="rulesets/design.xml/NonThreadSafeSingleton">
203 <priority>2</priority>
205 <rule ref="rulesets/design.xml/UncommentedEmptyMethod">
206 <priority>2</priority>
208 <rule ref="rulesets/design.xml/UncommentedEmptyConstructor">
209 <priority>2</priority>
211 <rule ref="rulesets/design.xml/AvoidConstantsInterface">
212 <priority>5</priority>
214 <rule ref="rulesets/design.xml/UnsynchronizedStaticDateFormatter">
215 <priority>2</priority>
217 <rule ref="rulesets/design.xml/PreserveStackTrace">
218 <priority>2</priority>
220 <rule ref="rulesets/design.xml/UseCollectionIsEmpty">
221 <priority>4</priority>
223 <rule ref="rulesets/design.xml/ClassWithOnlyPrivateConstructorsShouldBeFinal">
224 <priority>4</priority>
226 <rule ref="rulesets/design.xml/EmptyMethodInAbstractClassShouldBeAbstract">
227 <priority>2</priority>
229 <rule ref="rulesets/design.xml/SingularField">
230 <priority>2</priority>
232 <rule ref="rulesets/design.xml/ReturnEmptyArrayRatherThanNull">
233 <priority>4</priority>
235 <rule ref="rulesets/design.xml/AbstractClassWithoutAnyMethod">
236 <priority>2</priority>
238 <rule ref="rulesets/design.xml/TooFewBranchesForASwitchStatement">
239 <priority>4</priority>
241 <rule ref="rulesets/braces.xml/IfStmtsMustUseBraces">
242 <priority>3</priority>
244 <rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces">
245 <priority>3</priority>
247 <rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces">
248 <priority>3</priority>
250 <rule ref="rulesets/braces.xml/ForLoopsMustUseBraces">
251 <priority>3</priority>
253 <rule ref="rulesets/coupling.xml/CouplingBetweenObjects">
254 <priority>5</priority>
256 <rule ref="rulesets/coupling.xml/ExcessiveImports">
257 <priority>5</priority>
259 <rule ref="rulesets/coupling.xml/LooseCoupling">
260 <priority>4</priority>
262 <rule ref="rulesets/basic.xml/EmptyCatchBlock">
263 <priority>2</priority>
265 <rule ref="rulesets/basic.xml/EmptyIfStmt">
266 <priority>2</priority>
268 <rule ref="rulesets/basic.xml/EmptyWhileStmt">
269 <priority>2</priority>
271 <rule ref="rulesets/basic.xml/EmptyTryBlock">
272 <priority>2</priority>
274 <rule ref="rulesets/basic.xml/EmptyFinallyBlock">
275 <priority>2</priority>
277 <rule ref="rulesets/basic.xml/EmptySwitchStatements">
278 <priority>2</priority>
280 <rule ref="rulesets/basic.xml/JumbledIncrementer">
281 <priority>2</priority>
283 <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop">
284 <priority>5</priority>
286 <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary">
287 <priority>5</priority>
289 <rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode">
290 <priority>4</priority>
292 <rule ref="rulesets/basic.xml/DoubleCheckedLocking">
293 <priority>5</priority>
295 <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock">
296 <priority>4</priority>
298 <rule ref="rulesets/basic.xml/EmptySynchronizedBlock">
299 <priority>2</priority>
301 <rule ref="rulesets/basic.xml/UnnecessaryReturn">
302 <priority>2</priority>
304 <rule ref="rulesets/basic.xml/EmptyStaticInitializer">
305 <priority>2</priority>
307 <rule ref="rulesets/basic.xml/UnconditionalIfStatement">
308 <priority>2</priority>
310 <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop">
311 <priority>2</priority>
313 <rule ref="rulesets/basic.xml/BooleanInstantiation">
314 <priority>3</priority>
316 <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier">
317 <priority>5</priority>
319 <rule ref="rulesets/basic.xml/CollapsibleIfStatements">
320 <priority>5</priority>
322 <rule ref="rulesets/basic.xml/UselessOverridingMethod">
323 <priority>2</priority>
325 <rule ref="rulesets/basic.xml/ClassCastExceptionWithToArray">
326 <priority>3</priority>
328 <rule ref="rulesets/basic.xml/AvoidDecimalLiteralsInBigDecimalConstructor">
329 <priority>4</priority>
331 <rule ref="rulesets/basic.xml/UselessOperationOnImmutable">
332 <priority>2</priority>
334 <rule ref="rulesets/basic.xml/MisplacedNullCheck">
335 <priority>2</priority>
337 <rule ref="rulesets/basic.xml/UnusedNullCheckInEquals">
338 <priority>2</priority>
340 <rule ref="rulesets/basic.xml/AvoidThreadGroup">
341 <priority>4</priority>
343 <rule ref="rulesets/basic.xml/BrokenNullCheck">
344 <priority>2</priority>
346 <rule ref="rulesets/basic.xml/BigIntegerInstantiation">
347 <priority>3</priority>
349 <rule ref="rulesets/basic.xml/AvoidUsingOctalValues">
350 <priority>4</priority>
352 <rule ref="rulesets/basic.xml/AvoidUsingHardCodedIP">
353 <priority>2</priority>
355 <rule ref="rulesets/basic.xml/CheckResultSet">
356 <priority>2</priority>
358 <rule ref="rulesets/basic.xml/AvoidMultipleUnaryOperators">
359 <priority>2</priority>
361 <rule ref="rulesets/controversial.xml/UnnecessaryConstructor">
362 <priority>4</priority>
364 <rule ref="rulesets/controversial.xml/NullAssignment">
365 <priority>5</priority>
367 <rule ref="rulesets/controversial.xml/OnlyOneReturn">
368 <priority>3</priority>
370 <rule ref="rulesets/controversial.xml/UnusedModifier">
371 <priority>5</priority>
373 <rule ref="rulesets/controversial.xml/AssignmentInOperand">
374 <priority>2</priority>
376 <rule ref="rulesets/controversial.xml/DontImportSun">
377 <priority>2</priority>
379 <rule ref="rulesets/controversial.xml/SuspiciousOctalEscape">
380 <priority>4</priority>
382 <rule ref="rulesets/controversial.xml/CallSuperInConstructor">
383 <priority>4</priority>
385 <rule ref="rulesets/controversial.xml/UnnecessaryParentheses">
386 <priority>5</priority>
388 <rule ref="rulesets/controversial.xml/DefaultPackage">
389 <priority>2</priority>
391 <rule ref="rulesets/controversial.xml/BooleanInversion">
392 <priority>3</priority>
394 <rule ref="rulesets/controversial.xml/DataflowAnomalyAnalysis">
395 <priority>5</priority>
397 <rule ref="rulesets/controversial.xml/AvoidFinalLocalVariable">
398 <priority>2</priority>
400 <rule ref="rulesets/controversial.xml/AvoidUsingShortType">
401 <priority>5</priority>
403 <rule ref="rulesets/controversial.xml/AvoidUsingVolatile">
404 <priority>2</priority>
406 <rule ref="rulesets/controversial.xml/AvoidUsingNativeCode">
407 <priority>2</priority>
409 <rule ref="rulesets/controversial.xml/AvoidAccessibilityAlteration">
410 <priority>2</priority>
412 <rule ref="rulesets/controversial.xml/DoNotCallGarbageCollectionExplicitly">
413 <priority>1</priority>
415 <rule ref="rulesets/logging-java.xml/MoreThanOneLogger">
416 <priority>3</priority>
418 <rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal">
419 <priority>3</priority>
421 <rule ref="rulesets/logging-java.xml/SystemPrintln">
422 <priority>1</priority>
424 <rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace">
425 <priority>1</priority>
428 <rule ref="rulesets/imports.xml/DuplicateImports">
429 <priority>2</priority>
431 <rule ref="rulesets/imports.xml/DontImportJavaLang">
432 <priority>2</priority>
435 <rule ref="rulesets/imports.xml/UnusedImports">
436 <priority>3</priority>
438 <rule ref="rulesets/imports.xml/ImportFromSamePackage">
439 <priority>2</priority>
441 <rule ref="rulesets/imports.xml/TooManyStaticImports">
442 <priority>2</priority>
444 <rule ref="rulesets/migrating.xml/ReplaceVectorWithList">
445 <priority>4</priority>
447 <rule ref="rulesets/migrating.xml/ReplaceHashtableWithMap">
448 <priority>4</priority>
450 <rule ref="rulesets/migrating.xml/ReplaceEnumerationWithIterator">
451 <priority>4</priority>
453 <rule ref="rulesets/migrating.xml/IntegerInstantiation">
454 <priority>3</priority>
456 <rule ref="rulesets/migrating.xml/ByteInstantiation">
457 <priority>3</priority>
459 <rule ref="rulesets/migrating.xml/ShortInstantiation">
460 <priority>3</priority>
462 <rule ref="rulesets/migrating.xml/LongInstantiation">
463 <priority>3</priority>
465 <rule ref="rulesets/clone.xml/ProperCloneImplementation">
466 <priority>5</priority>
468 <rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException">
469 <priority>5</priority>
471 <rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable">
472 <priority>5</priority>
474 <rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable">
475 <priority>2</priority>
477 <rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException">
478 <priority>3</priority>
480 <rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl">
481 <priority>4</priority>
483 <rule ref="rulesets/strictexception.xml/AvoidCatchingNPE">
484 <priority>3</priority>
486 <rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes">
487 <priority>3</priority>
489 <rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException">
490 <priority>3</priority>
492 <rule ref="rulesets/strictexception.xml/AvoidRethrowingException">
493 <priority>5</priority>
495 <rule ref="rulesets/strictexception.xml/DoNotExtendJavaLangError">
496 <priority>2</priority>
498 <rule ref="rulesets/strictexception.xml/DoNotThrowExceptionInFinally">
499 <priority>2</priority>
501 <rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray">
502 <priority>4</priority>
504 <rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly">
505 <priority>4</priority>
507 <rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize">
509 <property name="prefix" value="_"/>
511 <priority>4</priority>
513 <rule ref="rulesets/javabeans.xml/MissingSerialVersionUID">
514 <priority>4</priority>
516 <rule ref="rulesets/finalizers.xml/EmptyFinalizer">
517 <priority>4</priority>
519 <rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize">
520 <priority>4</priority>
522 <rule ref="rulesets/finalizers.xml/FinalizeOverloaded">
523 <priority>2</priority>
525 <rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize">
526 <priority>4</priority>
528 <rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected">
529 <priority>4</priority>
531 <rule ref="rulesets/finalizers.xml/AvoidCallingFinalize">
532 <priority>2</priority>
534 <rule ref="rulesets/j2ee.xml/UseProperClassLoader">
535 <priority>4</priority>
537 <rule ref="rulesets/j2ee.xml/MDBAndSessionBeanNamingConvention">
538 <priority>4</priority>
540 <rule ref="rulesets/j2ee.xml/RemoteSessionInterfaceNamingConvention">
541 <priority>4</priority>
543 <rule ref="rulesets/j2ee.xml/LocalInterfaceSessionNamingConvention">
544 <priority>4</priority>
546 <rule ref="rulesets/j2ee.xml/LocalHomeNamingConvention">
547 <priority>4</priority>
549 <rule ref="rulesets/j2ee.xml/RemoteInterfaceNamingConvention">
550 <priority>4</priority>
552 <rule ref="rulesets/j2ee.xml/DoNotCallSystemExit">
553 <priority>2</priority>
555 <rule ref="rulesets/j2ee.xml/StaticEJBFieldShouldBeFinal">
556 <priority>4</priority>
558 <rule ref="rulesets/j2ee.xml/DoNotUseThreads">
559 <priority>2</priority>
561 <rule ref="rulesets/naming.xml/VariableNamingConventions">
563 <property name="staticPrefix" value=""/>
564 <property name="staticSuffix" value=""/>
565 <property name="memberPrefix" value="_"/>
566 <property name="memberSuffix" value=""/>
568 <priority>1</priority>
570 <rule ref="rulesets/naming.xml/MethodNamingConventions">
571 <priority>1</priority>
573 <rule ref="rulesets/naming.xml/ClassNamingConventions">
574 <priority>1</priority>
576 <rule ref="rulesets/naming.xml/AbstractNaming">
577 <priority>2</priority>
579 <rule ref="rulesets/naming.xml/AvoidDollarSigns">
580 <priority>1</priority>
582 <rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass">
583 <priority>2</priority>
585 <rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName">
586 <priority>2</priority>
588 <rule ref="rulesets/naming.xml/SuspiciousConstantFieldName">
589 <priority>2</priority>
591 <rule ref="rulesets/naming.xml/SuspiciousConstantFieldName">
592 <priority>2</priority>
594 <rule ref="rulesets/naming.xml/SuspiciousEqualsMethodName">
595 <priority>2</priority>
597 <rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName">
598 <priority>2</priority>
600 <rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName">
601 <priority>2</priority>
603 <rule ref="rulesets/naming.xml/NoPackage">
604 <priority>1</priority>
606 <rule ref="rulesets/naming.xml/PackageCase">
607 <priority>1</priority>
609 <rule ref="rulesets/naming.xml/MisleadingVariableName">
610 <priority>1</priority>
612 <rule ref="rulesets/naming.xml/BooleanGetMethodName">
613 <priority>5</priority>
615 <rule ref="rulesets/codesize.xml/NPathComplexity">
616 <priority>3</priority>
618 <rule ref="rulesets/codesize.xml/ExcessiveMethodLength">
620 <property name="minimun" value="50"/>
622 <priority>3</priority>
624 <rule ref="rulesets/codesize.xml/ExcessiveParameterList">
626 <property name="minimun" value="10"/>
628 <priority>4</priority>
631 <rule ref="rulesets/codesize.xml/ExcessiveClassLength">
633 <property name="minimun" value="1000"/>
635 <priority>3</priority>
637 <rule ref="rulesets/codesize.xml/CyclomaticComplexity">
639 <property name="reportLevel" value="25"/>
641 <priority>3</priority>
643 <rule ref="rulesets/codesize.xml/ExcessivePublicCount">
644 <priority>4</priority>
646 <property name="reportLevel" value="20"/>
649 <rule ref="rulesets/codesize.xml/TooManyFields">
650 <priority>4</priority>
652 <rule ref="rulesets/codesize.xml/NcssMethodCount">
653 <priority>4</priority>
655 <rule ref="rulesets/codesize.xml/NcssTypeCount">
656 <priority>4</priority>
658 <rule ref="rulesets/codesize.xml/NcssConstructorCount">
659 <priority>4</priority>
661 <rule ref="rulesets/codesize.xml/TooManyMethods">
663 <property name="maxmethods" value="15"/>
665 <priority>4</priority>
667 <rule ref="rulesets/unusedcode.xml/UnusedPrivateField">
668 <priority>2</priority>
670 <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable">
671 <priority>2</priority>
673 <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod">
674 <priority>2</priority>
676 <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter">
677 <priority>5</priority>
679 <rule class="net.sourceforge.pmd.rules.XPathRule" message="Avoid naming fields without the prefix '_'" name="FieldNamingRules">
681 Detects when a field has not a name starting with '_'.
686 private int _foo; // OK
687 private int bar; // Not good
692 <priority>1</priority>
694 <property name="xpath">
697 //FieldDeclaration[@Static='false']
699 //VariableDeclaratorId
700 [not(starts-with(@Image, '_'))]
704 <property name="pluginname" value="true"/>
707 <rule class="net.sourceforge.pmd.rules.XPathRule" message="Avoid parameters with the prefix '_'" name="ParametersNamingRules">
709 Detects when a parameter has a name starting with '_'.
714 private void foo(int bar) // OK
715 private void foo2(int _bar) // Not good
720 <priority>1</priority>
722 <property name="xpath">
725 //VariableDeclaratorId
726 [starts-with(@Image, '_')]
727 [not (../../../FieldDeclaration)]
732 <property name="pluginname" value="true"/>
735 <rule name="DoNotUseConditionalExpression "
736 message="Do not use condition?statement:statement;"
737 class="net.sourceforge.pmd.rules.XPathRule">
739 Detect using of condition?statement:statement;
741 <priority>1</priority>
743 <property name="xpath">
746 //ConditionalExpression
751 <priority>3</priority>
754 public class Sample {
755 boolean bar(int x, int y) {
762 return (x == y) ? same : diff;