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.