When the value of a private field is always assigned to in a class' methods before being read, then it is not being used to store class information. Therefore, it should become a local variable in the relevant methods to prevent any misunderstanding.
public class Foo { private int singularField; public void doSomething(int y) { singularField = y + 5; ... if(singularField == 0 {...} ... } public void doSomethingElse(int y) { singularField = y + 3; ... } }
public class Foo { public void doSomething(int y) { int singularField = y + 5; ... } public void doSomethingElse(int y) { int singularField = y + 3; ... } }
This rule doesn't raise any issue on annotated field.