Inspector | Description | Number |
ER-011 | Cyclomatic complexity exceeds specified limit | 29 |
ER-048 | Use BigDecimal instead of Float or Double for monetary values | 32 |
ER-076 | Make inner classes "private" | 1 |
ER-080 | Avoid "for", "do", "while", "if" and "if ... else" statements with empty bodies | 1 |
ER-111 | LOG4J is mandatory for all logging in ERC. System.out.println will be lost in a system console of our web/app server. | 11 |
ER-214 | Heterogenous Collection detected: The code adds objects of different types in a collection. This can cause serious mainteance issues.
The creator and consumer of the collection have to have implicit knowledge about the index of a specific object inside of the collection.
Go with a dedicated parameter or Data Transfer Object instead.
There is only one exception for using Heterogenous Collection: If all objects in the collection implement a specific interface, this is acceptable.
| 6 |
Inspector | Description | Number |
ER-017-E | Do not assign new value to a parameter. For comprehensibility, formal parameters should be final | 4 |
ER-033 | Source file is too long | 1 |
ER-041 | Method is too long | 10 |
ER-043 | Packages should be neither too lean nor too fat. | 1 |
ER-046 | Method declares too general exception types (Exception, Throwable) in throws clause | 4 |
ER-047 | Operation (method or constructor) declares subclasses of RuntimeException in throws clause | 13 |
ER-049 | Unify logging strategy - define individual logger for class | 56 |
ER-079 | Avoid casting primitive data types to lower precision | 15 |
ER-095 | Too many exceptions listed in throws clause | 2 |
ER-102 | String Arrays are deprecated and are ONLY allowed for final variables | 8 |
ER-103 | Catch-blocks should log the exeption with Log4J.error("Context String" , exception ) | 88 |
ER-104 | Use a Collection instead of arrays Object[] | 17 |
ER-113 | Unused private/local variables | 8 |
Inspector | Description | Number |
ER-001 | Imports should be ordered according to the configuartion parameters and further for each parameter, imports should be arrange alphabetically | 4 |
ER-005 | Classes, interfaces, methods, and variables should be named according to Sun's naming conventions. | 5 |
ER-018 | Sun coding standards - class modifiers should be in order (public protected private abstract static final strictfp) | 1 |
ER-023 | Packages should begin with project or organization package prefix | 68 |
ER-025 | Parenthesis are redundant | 1 |
ER-028 | Avoid hardwired character literals | 96 |
ER-029 | Avoid hardwired numeric literals | 33 |
ER-030 | Avoid hardwired string literals | 727 |
ER-036 | Line is too long | 1049 |
ER-082 | Avoid using method parameter names that conflict with class member names | 97 |
ER-096 | Empty statements | 1 |
ER-098 | No need to provide (public, abstract, ) modifiers for interface methods | 2 |
ER-105 | Document all Interfaces and public methods. Use a Class header. Provide Javadoc | 492 |
ER-107 | Instance variables and method names shouldn't have same name | 5 |
ER-109 | It is good practice to call in any case super() in a constructor. (see also: UnnecessaryConstructorRule ) | 20 |
ER-116 | Use StringBuffer for excessive String concatenation. This inspector skips
static fields initializers, single concatenations (one +) and concatenations of constants like
"a"+"b"+"c" because they are calculated at compile time. | 133 |
ER-210 | StringTokenizer is deprecated, use String.split() instead. | 5 |