Class AnonInnerLengthCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable

    public class AnonInnerLengthCheck
    extends AbstractCheck

    Checks for long anonymous inner classes.

    Rationale: If an anonymous inner class becomes very long it is hard to understand and to see the flow of the method where the class is defined. Therefore long anonymous inner classes should usually be refactored into a named inner class. See also Bloch, Effective Java, p. 93.

    The default maximum anonymous inner class length is 20 lines. To change the maximum number of lines, set property max.

    An example of how to configure the check is:

     <module name="AnonInnerLength"/>
     

    An example of how to configure the check so that it accepts anonymous inner classes with up to 60 lines is:

     <module name="AnonInnerLength">
        <property name="max" value="60"/>
     </module>
     
    Author:
    Rob Worth