Écrire à champ statique - est FindBugs mal dans ce cas?

J'ai une classe Java comme ceci:

public class Foo {

    public static int counter = 0;

    public void bar(int counter) {
        Foo.counter = counter;
    }
}

FindBugs me prévient sur l'écriture pour le champ statique counter via la méthode d'instance bar. Cependant, si je change le code:

public class Foo {

    public static int counter = 0;

    public static void setCounter(int counter) {
        Foo.counter = counter;
    }

    public void bar(int counter) {
        setCounter(counter);
    }
}

Puis FindBugs ne me plaindrai pas. N'est-ce pas mal? Je suis toujours écrit à un champ statique à partir d'une méthode d'instance, par le biais d'une méthode statique, ne suis-je pas?

Laissez-moi savoir quand les outils automatisés de devenir capable de détecter toutes sortes de bugs de programmation, donc je peux commencer à chercher une nouvelle carrière.
Mais c'est juste un type dans ce cas. 😛 je suis nouveau sur cet outil et ne savons pas encore quelle est la fiabilité de ses résultats. 🙂
Si FindBugs émet un avertissement, vous feriez mieux de regarder le problème. Mais cela ne veut pas dire que si FindBugs n'émet pas d'avertissement, vous code est parfait et sans bug.

OriginalL'auteur htorque | 2012-11-14