SuspiciousConstantFieldName

A field name is all in uppercase characters, which in Sun's Java naming conventions indicate a constant. However, the field is not final.

This rule is defined by the following XPath expression:


//ClassOrInterfaceDeclaration[@Interface='false']
 /ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/FieldDeclaration
  [@Final='false']
  [VariableDeclarator/VariableDeclaratorId[upper-case(@Image)=@Image]]
 
                

Example:

                
    
public class Foo {
 // this is bad, since someone could accidentally
 // do PI = 2.71828; which is actualy e
 // final double PI = 3.16; is ok
 double PI = 3.16;
}