The Complete code review contains the superset of rule categories. Every other code review contains a unique subset of these categories.
The following table lists all of the categories and subcategories in the Complete code review, along with a description of the rules in each one. In the left column, categories are in bold text and subcategories are in plain text.
Category or subcategory | Description |
---|---|
Design Principles | Contains rules for the design principles of object-oriented programming |
Complexity | Contains rules to prevent unnecessarily complex code |
Globalization | Contains rules that are based on globalization coding best practices, helping to ensure that code runs correctly in localized environments |
Cultural Formatting | Contains rules that address data formatting options used in different parts of the world |
Encoding | Contains rules that validate encoding for globalization |
Locale Handling | Contains rules that validate locales for globalization |
String Handling | Contains rules that validate string operations for globalization |
Translation | Contains rules that validate code for translation |
UI Specific | Contains rules that validate user-interface layout and content for globalization |
J2EE Best Practices | Contains rules based on the best J2EE development practices and supports Web projects targeted to WebSphere® servers |
Correctness | Contains rules to detect incorrect method calls |
Data Race | Contains rules to detect method invocations that can cause data race conditions in J2EE applications |
Garbage Collection | Contains rules to detect method invocations that can delay garbage collection |
Maintainability | Contains rules to detect code that may be hard to maintain in J2EE applications |
Performance and Scalability | Contains rules to detect method invocations that hinder the performance or limit the scalability of a J2EE application |
Resource Management | Contains J2EE best practice rules for using resources in J2EE applications |
J2SE Best Practices | Contains rules that validate code for compliance with J2SE best practices for Java™ development |
AWT | Contains rules that detect issues related to using the Abstract Window Toolkit library |
Casting | Contains rules that detect issues related to casting and coercion |
Cloneable | Contains rules that detect issues related to object cloning |
Comparison | Contains rules that detect issues related to comparing objects and testing object equality |
Conditional | Contains rules that detect issues related to the usage of conditionals |
Constructors | Contains rules that detect issues related to defining and implementing constructors |
Declaration | Contains rules that detect issues related to declaring constants, variables, and fields |
Exceptions | Contains rules that detect issues related to exception handling |
Initialization | Contains rules that detect issues related to the initialization of primitives and objects |
Loop | Contains rules that detect issues related to using loops |
Null | Contains rules that detect issues related to using null |
Portability | Contains rules that detect issues related to portability |
Reflection | Contains rules that detect issues related to using reflection |
Serialization | Contains rules that detect issues related to serialization |
Statement | Contains rules that detect general issues in statements |
Switch | Contains rules that detect issues related to using switch statements |
Threads | Contains rules that detect issues related to using threads |
Naming Conventions | Contains rules for naming conventions of elements in the Java code |
Conflicts | Contains rules to ensure that elements are named consistently in the Java code |
Performance | Contains rules that enforce suggestions for improving performance and reducing the memory footprint in Java applications |
Memory | Contains rules that detect performance issues related to memory usage |
Profiling | Contains rules that detect potential performance issues related to profiling activities |
Speed | Contains rules that suggest ways to improve the speed of Java code execution |
Private API | Contains rules that locate APIs that do not belong in Java code |
Eclipse | Contains rules that locate APIs that do not belong in Java code |
Sun | Contains rules that locate APIs that do not belong in Java code |
WebSphere | Contains rules that locate APIs that do not belong in Java code |
Security | Contains rules that validate compliance with Java security standards |
J2EE Security | Contains rules that validate compliance with Java security standards in a J2EE perspective |
J2SE Security | Contains rules that validate compliance with Java security standards in a J2SE perspective |
Structural Analysis | Contains a set of rules that help you conduct an architectural review of your code |
Breakable | Contains rules for flagging objects with excessive immediate dependencies |
Cyclic Dependency | Contains rules for flagging cyclic dependencies between objects |
Hub | Contains rules for flagging objects with excessive immediate dependencies and immediate dependents |
Always override both java.lang.Object.equals()and java.lang.Object.hashCode()