En un proyecto, encontré un código como este:
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);
//.............
}
};
¿Cómo puedo convencer a mis compañeros de equipo de que este es un código incorrecto?
Creo que esto es una complicación innecesaria. ¿Por qué pasar una variable miembro como parámetro de método si ya tiene acceso a ella? Esto también es una violación de la encapsulación.
¿Ves otros problemas con este código?