Skip to content

Scalastyle proposed rules (Modifiers)

matthewfarwell edited this page Oct 21, 2011 · 5 revisions

This page contains proposed rules for Scalastyle. These rules are from Checkstyle, and do not necessarily apply to Scalastyle.

Modifiers

ModifierOrder

Checks that the order of modifiers conforms to the suggestions in the Java Language specification, sections 8.1.1, 8.3.1 and 8.4.3. The correct order is:

  1. public
  2. protected
  3. private
  4. abstract
  5. static
  6. final
  7. transient
  8. volatile
  9. synchronized
  10. native
  11. strictfp

RedundantModifier

Checks for redundant modifiers in:

  1. interface and annotation definitions,
  2. the final modifier on methods of final classes, and
  3. inner interface declarations that are declared as static
Rationale: The Java Language Specification strongly discourages the usage of "public" and "abstract" for method declarations in interface definitions as a matter of style. Variables in interfaces and annotations are automatically public, static and final, so these modifiers are redundant as well. As annotations are a form of interface, their fields are also automatically public, static and final just as their annotation fields are automatically public and abstract. Final classes by definition can not be extended so the final modifier on the method of a final class is redundant.