There are a lot of antipattern known, not only for Java programming. PatternTesting helps you to find some of these antipattern.
The table below gives you a good overview which antipatterns are recognized by which PatternTesting subproject. The antipatterns are grouped by the subproject which can detect it. For a detailed description of the antipatterns see the section "Description" after the table.
| Antipattern | Short Description | Subproject |
|---|---|---|
| Broken Initialization | instantiation of class fails during initialization | patterntesting-rt |
| Faulty Default Generation | generated code is wrong | patterntesting-rt |
| Lava Flow | also known as dead code | patterntesting-rt |
| Run-on initialization | Objects are not properly initialized and left attributes uninitialized. | patterntesting-rt |
| System.out-Logging | logging is done using System.out or System.err | patterntesting-check-ct |
| Underscores | don't use underscores in Java names | patterntesting-check-ct |
| Null Flag | null values are used as flags for exceptional conditions | patterntesting-check-rt |
The antipatterns are alphabetically sorted. At the end of each description you find the subproject or class which can detect the antipattern.
public int compareTo(Fraction o) {
// Auto-generated method stub
return 0;
}
Are there some patterns missing? Or one of the pattern is known under a different name? Let us know. Neither via email to mailing list or as bug report.