Created
February 19, 2015 12:11
-
-
Save ashwin/88ffe226eecdf6f42245 to your computer and use it in GitHub Desktop.
CheckStyle configuration file for Algorithms book and course by Prof. Sedgewick
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<!DOCTYPE module PUBLIC | |
"-//Puppy Crawl//DTD Check Configuration 1.2//EN" | |
"http://www.puppycrawl.com/dtds/configuration_1_2.dtd"> | |
<module name="Checker"> | |
<!-- Checks that property files contain the same keys. --> | |
<module name="Translation"/> | |
<!-- Checks that no tab characters in the source code. --> | |
<!-- Reports only first instance. --> | |
<module name="FileTabCharacter"> | |
<property name="eachLine" value="false"/> | |
</module> | |
<!-- Checks that no file is more than 1500 lines long. --> | |
<module name="FileLength"> | |
<property name="max" value="1500"/> | |
</module> | |
<!-- =========================================================================== --> | |
<!-- =========================================================================== --> | |
<!-- TREEWALKER BEGINS HERE --> | |
<!-- =========================================================================== --> | |
<!-- =========================================================================== --> | |
<module name="TreeWalker"> | |
<!-- =========================================================================== --> | |
<!-- Check for annotations --> | |
<!-- http://checkstyle.sourceforge.net/config_annotation.html --> | |
<!-- =========================================================================== --> | |
<module name="SuppressWarnings"> | |
<property name="format" | |
value="^unchecked$|^unused$"/> | |
<property name="tokens" | |
value=" | |
CLASS_DEF,INTERFACE_DEF,ENUM_DEF, | |
ANNOTATION_DEF,ANNOTATION_FIELD_DEF, | |
ENUM_CONSTANT_DEF,METHOD_DEF,CTOR_DEF, | |
PARAMETER_DEF,VARIABLE_DEF | |
"/> | |
</module> | |
<!-- =========================================================================== --> | |
<!-- Block checks --> | |
<!-- http://checkstyle.sourceforge.net/config_blocks.html --> | |
<!-- =========================================================================== --> | |
<module name="EmptyBlock"> | |
<property name="option" value="text"/> | |
</module> | |
<module name="AvoidNestedBlocks"/> | |
<!-- =========================================================================== --> | |
<!-- Class design --> | |
<!-- http://checkstyle.sourceforge.net/config_design.html --> | |
<!-- =========================================================================== --> | |
<!-- SPECIAL HACK FOR NON-STATIC PUBIC FINAL VARIABLE --> | |
<module name="VisibilityModifier"> | |
<property name="publicMemberPattern" value="^SLOPE_ORDER$"/> | |
</module> | |
<!-- <module name="FinalClass"/> --> | |
<module name="InterfaceIsType"/> | |
<module name="MutableException"/> | |
<!-- =========================================================================== --> | |
<!-- Coding violations --> | |
<!-- http://checkstyle.sourceforge.net/config_coding.html --> | |
<!-- =========================================================================== --> | |
<module name="AvoidInlineConditionals"/> | |
<module name="CovariantEquals"/> | |
<!-- <module name="DoubleCheckedLocking"/> NO LONGER AVAILABLE IN CHECKSTYLE 5.6 --> | |
<module name="EmptyStatement"/> | |
<!-- <module name="EqualsHashCode"/> --> | |
<module name="HiddenField"> | |
<property name="ignoreConstructorParameter" value="true"/> | |
</module> | |
<module name="IllegalInstantiation"/> | |
<module name="InnerAssignment"/> | |
<!-- | |
<module name="MagicNumber"> | |
<property name="tokens" value="NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG"/> | |
<property name="ignoreNumbers" value="-1, 0, 0.5, 1, 2"/> | |
</module> | |
<module name="MissingSwitchDefault"/> | |
--> | |
<module name="ModifiedControlVariable"/> | |
<module name="SimplifyBooleanExpression"/> | |
<module name="SimplifyBooleanReturn"/> | |
<module name="StringLiteralEquality"/> | |
<module name="NestedForDepth"> | |
<property name="max" value="4"/> | |
</module> | |
<module name="NestedIfDepth"> | |
<property name="max" value="3"/> | |
</module> | |
<module name="NestedTryDepth"> | |
<property name="max" value="1"/> | |
</module> | |
<module name="NoClone"/> | |
<module name="NoFinalizer"/> | |
<module name="SuperClone"/> | |
<module name="SuperFinalize"/> | |
<!-- Avoid masking of OutOfMemoryError or NullPointerExceptionError --> | |
<module name="IllegalCatch"/> | |
<!-- Don't allow variables to be declared of wrapper types --> | |
<module name="IllegalType"> | |
<property name="illegalClassNames" value="java.lang.Boolean, java.lang.Integer, java.lang.Double, java.lang.Float, java.lang.Character, java.lang.Long, java.lang.Short, java.lang.Byte, java.lang.Class"/> | |
</module> | |
<module name="DeclarationOrder"/> | |
<module name="ParameterAssignment"/> | |
<module name="DefaultComesLast"/> | |
<module name="FallThrough"> | |
<property name="reliefPattern" value="continue in next case"/> | |
</module> | |
<module name="OneStatementPerLine"/> | |
<!-- =========================================================================== --> | |
<!-- Duplicate code --> | |
<!-- http://checkstyle.sourceforge.net/config_duplicates.html --> | |
<!-- =========================================================================== --> | |
<!-- =========================================================================== --> | |
<!-- Headers --> | |
<!-- http://checkstyle.sourceforge.net/config_header.html --> | |
<!-- =========================================================================== --> | |
<!-- =========================================================================== --> | |
<!-- Imports --> | |
<!-- http://checkstyle.sourceforge.net/config_imports.html --> | |
<!-- =========================================================================== --> | |
<module name="AvoidStarImport"/> | |
<module name="AvoidStaticImport"/> | |
<!-- Disallow java.io and other packages that COS 126 students should not use --> | |
<!-- | |
<module name="IllegalImport"> | |
<property name="illegalPkgs" value="java.io, java.sql, sun, java.net, java.security, javax, java.applet, java.beans, java.nio, java.rmi, java.text, java.lang.reflect, java.lang.instrument"/> | |
</module> | |
--> | |
<module name="RedundantImport"/> | |
<module name="UnusedImports"/> | |
<!-- =========================================================================== --> | |
<!-- Javadoc comments --> | |
<!-- http://checkstyle.sourceforge.net/config_javadoc.html --> | |
<!-- =========================================================================== --> | |
<!-- =========================================================================== --> | |
<!-- Metrics --> | |
<!-- http://checkstyle.sourceforge.net/config_metrics.html --> | |
<!-- =========================================================================== --> | |
<!-- =========================================================================== --> | |
<!-- Miscellaneous checks --> | |
<!-- http://checkstyle.sourceforge.net/config_misc.html --> | |
<!-- =========================================================================== --> | |
<module name="TodoComment"/> | |
<module name="UpperEll"/> | |
<module name="ArrayTypeStyle"/> | |
<module name="OuterTypeFilename"/> | |
<!-- =========================================================================== --> | |
<!-- Modifiers --> | |
<!-- http://checkstyle.sourceforge.net/config_modifier.html --> | |
<!-- =========================================================================== --> | |
<module name="ModifierOrder"/> | |
<module name="RedundantModifier"/> | |
<!-- =========================================================================== --> | |
<!-- Naming conventions --> | |
<!-- http://checkstyle.sourceforge.net/config_naming.html --> | |
<!-- =========================================================================== --> | |
<!-- MODIFIED TO ALLOW SINGLE LETTER UPPERCASE NAMES --> | |
<!-- MODIFIED TO ALLOW FINAL VARIABLES TO BE ALL UPPER-CASE --> | |
<!-- Disallow underscore characters --> | |
<module name="ConstantName"/> | |
<module name="LocalFinalVariableName"> | |
<property name="format" value="^[a-z][a-zA-Z0-9]*$|^[A-Z][A-Z_0-9]*$"/> | |
</module> | |
<module name="LocalVariableName"> | |
<property name="format" value="^[a-z][a-zA-Z0-9]*$|^[A-Z][A-Z_0-9]*$"/> | |
</module> | |
<module name="MemberName"> | |
<property name="format" value="^[a-z][a-zA-Z0-9]*$|^[A-Z][A-Z_0-9]*$"/> | |
</module> | |
<module name="MethodName"> | |
<property name="format" value="^[a-z][a-zA-Z0-9]*$|^[A-Z][A-Z_0-9]*$"/> | |
</module> | |
<module name="PackageName"> | |
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/> | |
</module> | |
<module name="PackageName"/> | |
<module name="ParameterName"> | |
<property name="format" value="^[a-z][a-zA-Z0-9]*$|^[A-Z]$"/> | |
</module> | |
<module name="StaticVariableName"> | |
<property name="format" value="^[a-z][a-zA-Z0-9]*$|^[A-Z][A-Z_0-9]*$"/> | |
</module> | |
<module name="TypeName"/> | |
<!-- =========================================================================== --> | |
<!-- Regexp --> | |
<!-- http://checkstyle.sourceforge.net/config_regexp.html --> | |
<!-- =========================================================================== --> | |
<!-- Checks for calls to System.exit(). --> | |
<module name="RegexpSinglelineJava"> | |
<property name="format" value="System\.exit"/> | |
<property name="ignoreComments" value="true"/> | |
<property name="message" value="Not permitted to call System.exit()"/> | |
</module> | |
<!-- Checks for calls to Math.pow(). --> | |
<module name="RegexpSinglelineJava"> | |
<property name="format" value="Math\.pow\([^,]*, 2\)"/> | |
<property name="ignoreComments" value="true"/> | |
<property name="message" value="Use x*x instead of Math.pow(x, 2)"/> | |
</module> | |
<module name="RegexpSinglelineJava"> | |
<property name="format" value="Math\.pow\([^,]*, 3\)"/> | |
<property name="ignoreComments" value="true"/> | |
<property name="message" value="Use x*x*x instead of Math.pow(x, 3)"/> | |
</module> | |
<!-- =========================================================================== --> | |
<!-- Size violations --> | |
<!-- http://checkstyle.sourceforge.net/config_sizes.html --> | |
<!-- =========================================================================== --> | |
<!-- Check that length of line is at most 85 characters. --> | |
<module name="LineLength"> | |
<property name="max" value="85"/> | |
</module> | |
<module name="MethodLength"/> | |
<module name="AnonInnerLength"/> | |
<module name="ParameterNumber"/> | |
<module name="OuterTypeNumber"/> | |
<module name="MethodCount"/> | |
<!-- =========================================================================== --> | |
<!-- Whitespace --> | |
<!-- http://checkstyle.sourceforge.net/config_whitespace.html --> | |
<!-- =========================================================================== --> | |
<module name="GenericWhitespace"/> | |
<module name="EmptyForInitializerPad"/> | |
<module name="EmptyForIteratorPad"/> | |
<module name="MethodParamPad"/> | |
<module name="NoWhitespaceAfter"> | |
<property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/> | |
</module> | |
<module name="NoWhitespaceBefore"/> | |
<module name="OperatorWrap"/> | |
<module name="ParenPad"/> | |
<module name="TypecastParenPad"/> | |
<module name="WhitespaceAfter"/> | |
<module name="WhitespaceAround"> | |
<!-- removed PLUS, MINUS, STAR, DIV --> | |
<!-- removed GENERIC_START, GENERIC_END --> | |
<property name="tokens" | |
value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, | |
BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV_ASSIGN, | |
EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, | |
LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, | |
LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, | |
LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS_ASSIGN, MOD, | |
MOD_ASSIGN, NOT_EQUAL, PLUS_ASSIGN, QUESTION, RCURLY, | |
SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR_ASSIGN, | |
TYPE_EXTENSION_AND, WILDCARD_TYPE"/> | |
</module> | |
</module> | |
</module> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment