Recommended Coding Rules for Java Developers v1.0

In order to help you configuring Scertify™ (and other tools as well!) with the right coding rules and criticities, Tocea regularly updates Quality Profiles with the coding rules that seem to be mandatory/recommendable for development projects. Find below the coding rules that we recommend for Java/Web software development. Feel free to share or discuss with us, your feedback is very valuable to us!

[separator_shadow][/separator_shadow]

Technologies: Java, Javascript, Hibernate/JPA
Version: 1.0
Tools: PMD, Checkstyle, FindBugs, Closure Compiler, JSLint, Scertify
Total rules: 1,055

Blocker: 215 rules
Critical: 370 rules
Major: 298 rules
Minor: 129 rules
Info: 43 rules

Recommended Coding Rules
Recommended Coding Rules
Download the .xml repository
Repository installation

In this tutorial, learn how to create, customize and manage your own rule repositories with Scertify™ Professional.

Sample XML Repository
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XmlRepository xmlns="http://www.tocea.com/codewatch/platform/api/repository/xml/">
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::NP_DEREFERENCE_OF_READLINE_VALUE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::WA_NOT_IN_LOOP"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="findbugs::BC_IMPOSSIBLE_CAST"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::FI_NULLIFY_SUPER"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::SE_READ_RESOLVE_MUST_RETURN_OBJECT"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::SIO_SUPERFLUOUS_INSTANCEOF"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::BOA_BADLY_OVERRIDDEN_ADAPTER"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::IM_AVERAGE_COMPUTATION_COULD_OVERFLOW"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::DM_NEW_FOR_GETCLASS"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::NM_CONFUSING"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::WMI_WRONG_MAP_ITERATOR"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::NP_UNWRITTEN_FIELD"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="findbugs::SE_BAD_FIELD_INNER_CLASS"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::UCF_USELESS_CONTROL_FLOW_NEXT_LINE"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="findbugs::NP_GUARANTEED_DEREF"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::DE_MIGHT_IGNORE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::BIT_SIGNED_CHECK"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::DMI_BAD_MONTH"/>
    <Rules Priority="2" Criticity="MINOR" Name="findbugs::UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::FI_MISSING_SUPER_CALL"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::EQ_OTHER_NO_OBJECT"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::IJU_SETUP_NO_SUPER"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::NP_NONNULL_PARAM_VIOLATION"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::SQL_BAD_PREPARED_STATEMENT_ACCESS"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::NP_ALWAYS_NULL_EXCEPTION"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::DB_DUPLICATE_BRANCHES"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::IMSE_DONT_CATCH_IMSE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::DLS_DEAD_LOCAL_STORE_IN_RETURN"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::EC_UNRELATED_CLASS_AND_INTERFACE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::HE_INHERITS_EQUALS_USE_HASHCODE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::ReturnFromFinallyBlock"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::DoNotThrowExceptionInFinally"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::CO_COMPARETO_RESULTS_MIN_VALUE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::RV_CHECK_COMPARETO_FOR_SPECIFIC_RETURN_VALUE"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::VA_FORMAT_STRING_USES_NEWLINE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="findbugs::OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::RV_NEGATING_RESULT_OF_COMPARETO"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION"/>
    <Rules Priority="3" Criticity="MAJOR" Name="findbugs::JML_JSR166_CALLING_WAIT_RATHER_THAN_AWAIT"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::MethodNamingConventions"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::AvoidEnumAsIdentifier"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::ExcessiveClassLength">
        <Parameter Value="800" Name="minimum"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::AvoidFieldNameMatchingTypeName"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::NcssMethodCount">
        <Parameter Value="100" Name="minimum"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::UseStringBufferForStringAppends"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::UseProperClassLoader"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::UseSingleton"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::AvoidAccessibilityAlteration"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="pmd::ExceptionAsFlowControl"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::SuspiciousOctalEscape"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::AvoidDeeplyNestedIfStmts">
        <Parameter Value="3" Name="problemDepth"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::NullAssignment"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::AvoidCatchingGenericException"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::ArrayIsStoredDirectly"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::ClassNamingConventions"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::ReplaceHashtableWithMap"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::EmptyFinallyBlock"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::AvoidUsingNativeCode"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::AvoidThrowingNewInstanceOfSameException"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="pmd::FinalizeDoesNotCallSuperFinalize"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::SwitchDensity">
        <Parameter Value="10" Name="minimum"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::BadComparison"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::AvoidLosingExceptionInformation"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::OptimizableToArrayCall"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::InefficientEmptyStringCheck"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::AssignmentInOperand"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::TooManyMethods">
        <Parameter Value="15" Name="maxmethods"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::ShortInstantiation"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::ConstructorCallsOverridableMethod"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="pmd::AvoidInstanceofChecksInCatchClause"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="pmd::AvoidThrowingNullPointerException"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::UnconditionalIfStatement"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="pmd::EmptyWhileStmt"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="pmd::AvoidCatchingNPE"/>
    <Rules Priority="3" Criticity="MAJOR" Name="pmd::ConsecutiveLiteralAppends">
        <Parameter Value="1" Name="threshold"/>
    </Rules>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::TrailingComment">
        <Parameter Value="^\\s*$" Name="format"/>
    </Rules>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::UncommentedMain">
        <Parameter Value="^$" Name="excludedClasses"/>
    </Rules>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::OuterTypeFilename"/>
    <Rules Priority="3" Criticity="MAJOR" Name="checkstyle::AvoidNestedBlocks">
        <Parameter Value="false" Name="allowInSwitchCase"/>
    </Rules>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::NeedBraces">
        <Parameter Value="LITERAL_DO, LITERAL_ELSE, LITERAL_IF, LITERAL_FOR, LITERAL_WHILE" Name="tokens"/>
    </Rules>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::RightCurly">
        <Parameter Value="true" Name="shouldStartLine"/>
        <Parameter Value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE" Name="tokens"/>
        <Parameter Value="same" Name="option"/>
    </Rules>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::AvoidInlineConditionals"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="checkstyle::CovariantEquals"/>
    <Rules Priority="2" Criticity="MINOR" Name="checkstyle::DefaultComesLast"/>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::EmptyStatement"/>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::EqualsAvoidNull">
        <Parameter Value="false" Name="ignoreEqualsIgnoreCase"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="checkstyle::ExplicitInitialization"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="checkstyle::FallThrough">
        <Parameter Value="fallthru|falls? ?through" Name="reliefPattern"/>
        <Parameter Value="false" Name="checkLastCaseGroup"/>
    </Rules>
    <Rules Priority="2" Criticity="MINOR" Name="checkstyle::FinalLocalVariable"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="checkstyle::HiddenField">
        <Parameter Value="false" Name="ignoreAbstractMethods"/>
        <Parameter Value="true" Name="ignoreConstructorParameter"/>
        <Parameter Value="true" Name="ignoreSetter"/>
    </Rules>
    <Rules Priority="4" Criticity="CRITICAL" Name="checkstyle::InnerAssignment">
        <Parameter Value="ASSIGN, BAND_ASSIGN, BOR_ASSIGN, BSR_ASSIGN, BXOR_ASSIGN, DIV_ASSIGN, MINUS_ASSIGN, MOD_ASSIGN, PLUS_ASSIGN, SL_ASSIGN, SR_ASSIGN, STAR_ASSIGN" Name="tokens"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="checkstyle::JUnitTestCase"/>
    <Rules Priority="2" Criticity="MINOR" Name="checkstyle::MagicNumber">
        <Parameter Value="-1, 0, 1, 2" Name="ignoreNumbers"/>
        <Parameter Value="NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG" Name="tokens"/>
        <Parameter Value="false" Name="ignoreHashCodeMethod"/>
    </Rules>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::ModifiedControlVariable"/>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::MultipleStringLiterals">
        <Parameter Value="1" Name="allowedDuplicates"/>
        <Parameter Value="ANNOTATION" Name="ignoreOccurrenceContext"/>
        <Parameter Value="^\'\'$" Name="ignoreStringsRegexp"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="checkstyle::MultipleVariableDeclarations"/>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::NestedForDepth">
        <Parameter Value="1" Name="max"/>
    </Rules>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::NestedTryDepth">
        <Parameter Value="1" Name="max"/>
    </Rules>
    <Rules Priority="5" Criticity="BLOCKER" Name="checkstyle::NoClone"/>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::NoFinalizer"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="checkstyle::PackageDeclaration">
        <Parameter Value="false" Name="ignoreDirectoryName"/>
    </Rules>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::RequireThis">
        <Parameter Value="true" Name="checkMethods"/>
        <Parameter Value="true" Name="checkFields"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="checkstyle::ReturnCount">
        <Parameter Value="2" Name="max"/>
        <Parameter Value="^equals$" Name="format"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="checkstyle::SimplifyBooleanExpression"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="checkstyle::SuperClone"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="checkstyle::SuperFinalize"/>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::ArrayTrailingComma"/>
    <Rules Priority="2" Criticity="MINOR" Name="checkstyle::OneStatementPerLine"/>
    <Rules Priority="3" Criticity="MAJOR" Name="checkstyle::DesignForExtension"/>
    <Rules Priority="2" Criticity="MINOR" Name="checkstyle::InnerTypeLast"/>
    <Rules Priority="3" Criticity="MAJOR" Name="checkstyle::HideUtilityClassConstructor"/>
    <Rules Priority="1" Criticity="INFO" Name="checkstyle::MutableException"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="checkstyle::ThrowsCount">
        <Parameter Value="2" Name="max"/>
    </Rules>
    <Rules Priority="3" Criticity="MAJOR" Name="java::syntax::UseIsEmpty"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::syntax::SwitchShouldHaveDefault"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::syntax::ParameterShouldHavePrefix"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::syntax::TextLiteralCouldBeMerge"/>
    <Rules Priority="2" Criticity="MINOR" Name="java::syntax::WhileLoopsMustUseBraces"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::syntax::DoWhileLoopsMustUseBraces"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::syntax::SortableSwitch"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::syntax::SwitchDefaultLabelShouldBeLast"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::syntax::IfStatementMustUseBraces"/>
    <Rules Priority="1" Criticity="INFO" Name="java::security::owasp::OWaspEncryptSecretsInProperties"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::security::owasp::OWaspDoNotUseRandomInSecurity"/>
    <Rules Priority="3" Criticity="MAJOR" Name="custom::CustomRule"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::performance::ArrayListConstructorShouldSpecifySize"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::performance::InefficientNumberConstructor"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="owasp::wsdl::OWaspNoUnboundedInXSDToWSDL"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="owasp::wsdl::OWaspNoXSDStringWithoutRestriction"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::robustness::UseEqualsToCompareStrings"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::modifiers::ModifierOrder"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::modifiers::RedundantModifier"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="java::jpa::HbCompositeKeyAreProhibited"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="java::jpa::HbEntityDoesNotDefineNoArgumentConstructor"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::jpa::HbXmlAlwaysSpecifyNotNullStrategy"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="java::jpa::HbEntitiesMustImplementEqualsHashCode"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::jpa::HbXmlAlwaysUseIdentifier"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::jpa::HbNaturalKeyAreProhibited"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="java::jpa::HbEmbeddableEntitiesMustImplementEqualsHashCode"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::jpa::HbXmlAvoidUsingFieldAccessStrategy"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::jpa::HbEntityObjectsShouldBeStoredInGivenPackage"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::jpa::HbXmlRequiresLazyStrategy"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::jpa::HbXmlRequiresCustomAttribute"/>
    <Rules Priority="3" Criticity="MAJOR" Name="java::jpa::HbXmlClassesShouldBeTheirOwnProxy"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="java::jpa::HbEntityKeyShouldBeABoxedPrimitive"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="java::jpa::HbXmlLimitClassPerMappingFile"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="java::jpa::HbEntityEqualsAndHashCodeUseDifferentFields"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::closure::JSC_INVALID_MODIFIES_ANNOTATION"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::closure::JSC_INTERNAL_ERROR_DATAFLOW"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::closure::JSC_UNDEFINED_NAME"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::closure::JSC_NAME_DEFINED_LATE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::closure::JSC_STRICT_MODULE_DEP_QNAME"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::closure::JSC_REGEXP_REFERENCE"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::closure::JSC_MALFORMED_REGEXP"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::closure::JSC_BAD_RENAME_PROPERTY_FUNCTION_NAME_CALL"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::closure::JSC_BAD_RENAME_PROPERTY_FUNCTION_NAME_ARG"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::closure::JSC_UNSAFE_NAMESPACE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::closure::JSC_NAMESPACE_REDEFINED"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::closure::JSC_UNSAFE_THIS"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::closure::JSC_STRIP_TYPE_INHERIT_ERROR"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::closure::JSC_STRIP_ASSIGNMENT_ERROR"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::closure::JSC_REFERENCE_BEFORE_DECLARE"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::closure::JSC_RESOLVED_TAG_EMPTY"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::closure::JSC_IMPLEMENTS_WITHOUT_CONSTRUCTOR"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_VAR_ARGS_MUST_BE_LAST"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_OPTIONAL_ARG_AT_END"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::closure::JSC_INEXISTANT_PARAM"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_TYPE_REDEFINITION"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_TEMPLATE_TYPE_DUPLICATED"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_TEMPLATE_TYPE_EXPECTED"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_THIS_TYPE_NON_OBJECT"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::closure::JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_PARSE_ERROR"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_TYPE_PARSE_ERROR"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_EXTRA_FILEOVERVIEW"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_TRAILING_COMMA"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::closure::JSC_DUPLICATE_PARAM"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::closure::JSC_BAD_JSDOC_ANNOTATION"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Bad_operand"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Bad_style"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Bad_type"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Bad_url_a"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Do_not_wrap_function_literals_in_parens_unless_they_are_to_be_immediately_invoked"/>
    <Rules Priority="1" Criticity="INFO" Name="javascript::linter::Combine_this_with_the_previous_var_statement"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::linter::Expected_a_conditional_expression_and_instead_saw_an_assignment"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Confusing_use_of_a"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Confusing_regular_expression"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::A_constructor_name_a_should_start_with_an_uppercase_letter"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::linter::Unexpected_control_character_a"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::A_css_file_should_begin_with_charset_UTF-8"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Unexpected_dangling___in_a"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Dangerous_comment"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::linter::Only_properties_should_be_deleted"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Duplicate_a"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Empty_block"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Empty_case"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Empty_class"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::This_is_an_ES5_feature"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::linter::eval_is_evil"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Expected_a"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Expected_a_and_instead_saw_b"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Expected_a_to_match_b_from_line_c_and_instead_saw_d"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Expected_an_at-rule_and_instead_saw_a"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Use_the__operator"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Use_a_named_parameter"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::linter::a_was_used_before_it_was_defined"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::linter::Variable_a_was_not_declared_correctly"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Weird_assignment"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Weird_condition"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Weird_construction._Delete_new"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Weird_program"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Weird_relation"/>
    <Rules Priority="3" Criticity="MAJOR" Name="javascript::linter::Weird_ternary"/>
    <Rules Priority="2" Criticity="MINOR" Name="javascript::linter::Wrap_an_immediate_function_invocation_in_parentheses_to_assist_the_reader_in_understanding_that_the_expression_is_the_result_of_a_function_and_not_the_function_itself"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::linter::Wrap_the_regexp_literal_in_parens_to_disambiguate_the_slash_operator"/>
    <Rules Priority="5" Criticity="BLOCKER" Name="javascript::linter::document.write_can_be_a_form_of_eval"/>
    <Rules Priority="4" Criticity="CRITICAL" Name="javascript::linter::The__subexpression_should_be_wrapped_in_parens"/>
</XmlRepository>

[separator_shadow][/separator_shadow]

About Scertify™ Professional

Scertify™ Professional Edition is an Eclipse plugin dedicated to analyze, control and correction of code quality defects, through computer-assisted code refactoring. It includes +1,600 coding and automated-refactoring rules , for Java and Javascript projects.

[separator_shadow][/separator_shadow]

Posted by
Armel GOURIOU (See other posts)

Armel Gouriou has a Master's degree in computer science and is a huge Java addict. He originally worked for Tocea's R&D team where he took part in the development of Tocea's audit and refactoring softwares. He is now a member of the professional services team where his mission is to provide companies with solutions to tackle their technical debt.

This entry was posted in Blog, Java Developers on by .