Rule categories and subcategories

This topic describes the rule categories and subcategories that you can use in a Java™ code review.

The following table lists all of the rule categories and subcategories that belong to the Code Review for Java domain.
Category 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
Java EE Best Practices   Contains rules based on the best Java EE 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 Java EE 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 Java EE applications
  Performance and Scalability Contains rules to detect method invocations that hinder the performance or limit the scalability of a Java EE application
J2EE Security   Contains rules that validate compliance with Java security standards
  J2EE Security Contains rules that validate compliance with Java security standards in a Java EE perspective
Java SE Best Practices   Contains rules that validate code for compliance with Java SE 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
J2SE Security   Contains rules that validate compliance with Java security standards
  J2SE security Contains rules that validate compliance with Java security standards in a Java SE perspective
Naming   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
  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