Je ne suis pas d'accord avec StyleCop sur celui-ci, et je ne suis même pas sûr que l'opinion de StyleCop devrait être interprétée comme une directive officielle Microsoft de toute façon. C'était un outil interne utilisé chez Microsoft mais toutes les équipes ne l'utilisent pas, et toutes les équipes n'utilisent pas toutes les règles.
Ajout de this
partout n'est pas nécessaire et ajoute souvent un fouillis. Cela n'améliore pas les performances et je ne suis pas convaincu qu'ajouter this
partout dans le code améliore la lisibilité soit. Vous pouvez entendre des arguments qui indiquent plus clairement où la variable est définie, mais je dirais que si votre classe/méthode est si longue et compliquée qu'il est difficile de savoir où quelque chose est déclaré, alors vous devriez probablement refactoriser de toute façon. Si vous utilisez le single responsibility rule et avez des fonctions courtes, il devrait être évident si une variable est un membre, un paramètre de fonction ou une variable locale.
Comme vous le signalez, parfois c'est nécessaire. Par exemple dans le constructeur si vous voulez définir un membre privé avec le même nom que le paramètre.
public class Foo
{
private Bar bar;
public Foo(Bar bar)
{
this.bar = bar;
}
}
À mon humble avis de toute façon est bon tant que vous restez cohérent. – Brandi
Similaire à: http://stackoverflow.com/questions/1562540/why-does-stylecop-recommend-prefixing-method-or-property-calls-with-this –