Efficient Hill Climbers

Severity

Blocker 0
Critical 1
Major 674
Minor 618
Info 22

Rule

Standard outputs should not be used directly to log anything 137
Local variable and method parameter names should comply with a naming convention 121
Control structures should use curly braces 63
Generic exceptions should never be thrown 43
Branches should have sufficient coverage by unit tests 42
Strings literals should be placed on the left side when checking for equality 36
Sections of code should not be "commented out" 34
Methods should not be too complex 30
Class variable fields should not have public accessibility 24
Source files should not have any duplicated blocks 24
Empty statements should be removed 10
Field names should comply with a naming convention 10
Method parameters, caught exceptions and foreach variables should not be reassigned 9
Utility classes should not have public constructors 8
Lambdas and anonymous classes should not have too many lines 8
Statements should be on separate lines 7
Local variables should not shadow class fields 7
Exception handlers should preserve the original exceptions 7
Assignments should not be made from within sub-expressions 6
Collection.isEmpty() should be used to test for emptiness 6
Try-catch blocks should not be nested 6
Useless parentheses around expressions should be removed to prevent any misunderstanding 5
"switch case" clauses should not have too many lines 4
Generic wildcard types should not be used in return parameters 4
Unused local variables should be removed 4
Close curly brace and the next "else", "catch" and "finally" keywords should be located on the same line 3
Loops should not contain more than a single "break" or "continue" statement 2
Declarations should use Java collection interfaces such as "List" rather than specific implementation classes such as "LinkedList" 2
"switch" statements should end with "default" clauses 2
Empty arrays and collections should be returned instead of null 2
Synchronized classes Vector, Hashtable, Stack and StringBuffer should not be used 2
Collapsible "if" statements should be merged 2
The default unnamed package should not be used 1
Unused method parameters should be removed 1
Only static class initializers should be used 1
Public methods should throw at most one checked exception 1