Modifier and Type | Class and Description |
---|---|
class |
JavaDFAGraphRule |
Modifier and Type | Class and Description |
---|---|
class |
AbstractInefficientZeroCheck
This is an abstract rule for patterns which compare a method invocation to 0.
|
class |
AbstractPoorMethodCall
Detects and flags the occurrences of specific method calls against an instance of
a designated class.
|
class |
AbstractStatisticalJavaRule |
class |
GenericLiteralCheckerRule
This class allow to match a Literal (most likely a String) with a regex pattern.
|
class |
StringConcatenationRule |
class |
SymbolTableTestRule |
class |
UselessAssignment |
Modifier and Type | Class and Description |
---|---|
class |
AvoidBranchingStatementAsLastInLoopRule |
class |
AvoidMultipleUnaryOperatorsRule |
class |
AvoidUsingHardCodedIPRule |
class |
AvoidUsingOctalValuesRule |
class |
BigIntegerInstantiationRule
Rule that marks instantiations of new
BigInteger or BigDecimal objects,
when there is a well-known constant available, such as BigInteger.ZERO . |
class |
BooleanInstantiationRule
Avoid instantiating Boolean objects; you can reference Boolean.TRUE,
Boolean.FALSE, or call Boolean.valueOf() instead.
|
class |
BrokenNullCheckRule |
class |
CheckResultSetRule
Rule that verifies, that the return values of next(), first(), last(), etc.
|
class |
CheckSkipResultRule |
class |
DoubleCheckedLockingRule
void method() {
if(x == null) {
synchronized(this){
if(x == null) {
x = new | method();
}
}
}
1.
|
class |
OverrideBothEqualsAndHashcodeRule |
Modifier and Type | Class and Description |
---|---|
class |
AbstractNcssCountRule
Abstract superclass for NCSS counting methods.
|
class |
CyclomaticComplexityRule |
class |
ExcessiveClassLengthRule
This rule detects when a class exceeds a certain
threshold.
|
class |
ExcessiveMethodLengthRule
This rule detects when a method exceeds a certain
threshold.
|
class |
ExcessiveParameterListRule
This rule detects an abnormally long parameter list.
|
class |
ExcessivePublicCountRule |
class |
ModifiedCyclomaticComplexityRule
Implements the modified cyclomatic complexity rule
|
class |
NcssConstructorCountRule
Non-commented source statement counter for constructors.
|
class |
NcssMethodCountRule
Non-commented source statement counter for methods.
|
class |
NcssTypeCountRule
Non-commented source statement counter for type declarations.
|
class |
NPathComplexityRule
NPath complexity is a measurement of the acyclic execution paths through a
function.
|
class |
StdCyclomaticComplexityRule
Implements the standard cyclomatic complexity rule
|
class |
TooManyFieldsRule |
Modifier and Type | Class and Description |
---|---|
class |
AbstractCommentRule |
class |
CodeInCommentsRule |
class |
CommentContentRule
A rule that checks for illegal words in the comment text.
|
class |
CommentRequiredRule |
class |
CommentSizeRule
A rule to manage those who just can't shut up...
|
class |
HeaderCommentsRule
Restrictions regarding the legal placement and content of the file header.
|
class |
JavadocRule |
Modifier and Type | Class and Description |
---|---|
class |
AssignmentInOperandRule |
class |
DataflowAnomalyAnalysisRule
Starts path search for each method and runs code if found.
|
class |
DontImportSunRule |
class |
NullAssignmentRule |
class |
OnlyOneReturnRule |
class |
SuspiciousOctalEscapeRule |
Modifier and Type | Class and Description |
---|---|
class |
CouplingBetweenObjectsRule
CouplingBetweenObjects attempts to capture all unique Class attributes,
local variables, and return types to determine how many objects a class is
coupled to.
|
class |
ExcessiveImportsRule
ExcessiveImports attempts to count all unique imports a class
contains.
|
class |
LawOfDemeterRule
This rule can detect possible violations of the Law of Demeter.
|
class |
LooseCouplingRule |
class |
LoosePackageCouplingRule
The loose package coupling Rule can be used to ensure coupling outside of
a package hierarchy is minimized to all but an allowed set of classes from
within the package hierarchy.
|
Modifier and Type | Class and Description |
---|---|
class |
AccessorClassGenerationRule
1.
|
class |
AssignmentToNonFinalStaticRule |
class |
AvoidDeeplyNestedIfStmtsRule |
class |
AvoidReassigningParametersRule |
class |
CloseResourceRule
Makes sure you close your database connections.
|
class |
CompareObjectsWithEqualsRule |
class |
ConfusingTernaryRule
if (x != y) { diff(); } else { same(); } and
(!x ? diff() : same());. |
class |
ConstructorCallsOverridableMethodRule
Searches through all methods and constructors called from constructors.
|
class |
ExcessiveLengthRule
This is a common super class for things which
have excessive length.
|
class |
ExcessiveNodeCountRule
This is a common super class for things which
shouldn't have excessive nodes underneath.
|
class |
GenericClassCounterRule
A generic rule that can be configured to "count" classes of certain
type based on either their name (full name, prefix, suffixes anything can
be matched with a regex), and/or
their type.
|
class |
GodClassRule
The God Class Rule detects a the God Class design flaw using metrics.
|
class |
IdempotentOperationsRule |
class |
ImmutableFieldRule |
class |
NonThreadSafeSingletonRule |
class |
PositionalIteratorRule |
class |
PreserveStackTraceRule |
class |
SimplifyBooleanReturnsRule |
class |
SingularFieldRule |
class |
SwitchDensityRule |
class |
UnnecessaryLocalBeforeReturnRule |
class |
UnsynchronizedStaticDateFormatterRule
Using a DateFormatter (SimpleDateFormatter) which is static can cause
unexpected results when used in a multi-threaded environment.
|
class |
UseCollectionIsEmptyRule
Detect structures like "foo.size() == 0" and suggest replacing them with
foo.isEmpty().
|
class |
UseUtilityClassRule |
Modifier and Type | Class and Description |
---|---|
class |
AvoidCallingFinalizeRule |
Modifier and Type | Class and Description |
---|---|
class |
DontImportJavaLangRule |
class |
DuplicateImportsRule |
class |
ImportFromSamePackageRule |
class |
UnnecessaryFullyQualifiedNameRule |
class |
UnusedImportsRule |
Modifier and Type | Class and Description |
---|---|
class |
BeanMembersShouldSerializeRule |
Modifier and Type | Class and Description |
---|---|
class |
AbstractJUnitRule |
class |
JUnitAssertionsShouldIncludeMessageRule |
class |
JUnitTestsShouldIncludeAssertRule |
class |
TestClassWithoutTestCasesRule |
Modifier and Type | Class and Description |
---|---|
class |
GuardDebugLoggingRule |
class |
GuardLogStatementJavaUtilRule |
class |
GuardLogStatementRule
Check that log.debug, log.trace, log.error, etc...
|
class |
MoreThanOneLoggerRule |
Modifier and Type | Class and Description |
---|---|
class |
JUnitUseExpectedRule
This rule finds code like this:
|
class |
UnnecessaryCastRule
This is a rule, that detects unnecessary casts when using Java 1.5 generics and
collections.
|
Modifier and Type | Class and Description |
---|---|
class |
AvoidDollarSignsRule |
class |
AvoidFieldNameMatchingMethodNameRule |
class |
AvoidFieldNameMatchingTypeNameRule |
class |
ClassNamingConventionsRule |
class |
MethodNamingConventionsRule |
class |
MethodWithSameNameAsEnclosingClassRule |
class |
SuspiciousHashcodeMethodNameRule |
class |
VariableNamingConventionsRule |
Modifier and Type | Class and Description |
---|---|
class |
AbstractOptimizationRule
Base class with utility methods for optimization rules
|
class |
AvoidInstantiatingObjectsInLoopsRule |
class |
LocalVariableCouldBeFinalRule |
class |
MethodArgumentCouldBeFinalRule |
class |
PrematureDeclarationRule
Checks for variables in methods that are defined before they are really needed.
|
class |
RedundantFieldInitializerRule
Detects redundant field initializers, i.e.
|
class |
UnnecessaryWrapperObjectCreationRule |
class |
UseStringBufferForStringAppendsRule |
Modifier and Type | Class and Description |
---|---|
class |
AvoidCatchingThrowableRule
Finds
catch statements containing throwable as the
type definition. |
class |
ExceptionAsFlowControlRule
Catches the use of exception statements as a flow control device.
|
class |
SignatureDeclareThrowsExceptionRule
|
Modifier and Type | Class and Description |
---|---|
class |
AppendCharacterWithCharRule
This rule finds the following:
|
class |
AvoidDuplicateLiteralsRule |
class |
ConsecutiveAppendsShouldReuseRule
Original rule was written with XPath, but didn't verify whether the two calls to append
would have been done on the same variable.
|
class |
ConsecutiveLiteralAppendsRule
This rule finds concurrent calls to StringBuffer/Builder.append where String literals
are used It would be much better to make these calls using one call to
.append
example:
|
class |
InefficientEmptyStringCheckRule
This rule finds code which inefficiently determines empty strings.
|
class |
InefficientStringBufferingRule
How this rule works:
find additive expressions: +
check that the addition is between anything other than two literals
if true and also the parent is StringBuffer constructor or append,
report a violation.
|
class |
InsufficientStringBufferDeclarationRule
This rule finds StringBuffers which may have been pre-sized incorrectly
See http://sourceforge.net/forum/forum.php?thread_id=1438119&forum_id=188194
|
class |
StringInstantiationRule |
class |
StringToStringRule |
class |
UnnecessaryCaseChangeRule |
class |
UseIndexOfCharRule |
class |
UselessStringValueOfRule |
class |
UseStringBufferLengthRule
This rule finds places where StringBuffer.toString() is called just to see if
the string is 0 length by either using .equals("") or toString().length()
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractSunSecureRule
Utility methods for the package
Created on Jan 17, 2005
|
class |
ArrayIsStoredDirectlyRule
If a method or constructor receives an array as an argument, the array should
be cloned instead of directly stored.
|
class |
MethodReturnsInternalArrayRule
Implementation note: this rule currently ignores return types of y.x.z,
currently it handles only local type fields.
|
Modifier and Type | Class and Description |
---|---|
class |
UnnecessaryConversionTemporaryRule |
class |
UnnecessaryReturnRule |
class |
UselessOperationOnImmutableRule
An operation on an Immutable object (String, BigDecimal or BigInteger) won't change
the object itself.
|
class |
UselessOverridingMethodRule |
Modifier and Type | Class and Description |
---|---|
class |
UnusedFormalParameterRule |
class |
UnusedLocalVariableRule |
class |
UnusedModifierRule |
class |
UnusedPrivateFieldRule |
class |
UnusedPrivateMethodRule
This rule detects private methods, that are not used and can therefore be deleted.
|
Modifier and Type | Class and Description |
---|---|
class |
CloneMethodMustImplementCloneable
The method clone() should only be implemented if the class implements the
Cloneable interface with the exception of a final method that only throws
CloneNotSupportedException.
|
class |
LooseCoupling
This is a separate rule, uses the type resolution facade
|
class |
SignatureDeclareThrowsException
A method/constructor shouldn't explicitly throw java.lang.Exception, since it
is unclear which exceptions that can be thrown from the methods.
|
Modifier and Type | Class and Description |
---|---|
class |
UnusedImports |
Copyright © 2002-2014 InfoEther. All Rights Reserved.