Dans un projet, j'ai trouvé un code comme celui-ci:
class SomeClass
{
private SomeType _someField;
public SomeType SomeField
{
get { return _someField; }
set { _someField = value; }
}
protected virtual void SomeMethod(/*...., */SomeType someVar)
{
}
private void SomeAnotherMethod()
{
//.............
SomeMethod(_someField);
//.............
}
};
Comment convaincre mes coéquipiers que c'est du mauvais code?
Je crois que c'est une complication inutile. Pourquoi passer une variable membre en tant que paramètre de méthode si vous y avez déjà accès? C'est aussi une violation de l'encapsulation.
Voyez-vous d'autres problèmes avec ce code?