프로젝트에서 다음과 같은 코드를 찾았습니다.
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);
//.............
}
};
팀원에게 이것이 잘못된 코드임을 어떻게 확신 시키나요?
나는 이것이 불필요한 합병증이라고 생각합니다. 이미 멤버 변수에 접근 할 수있는 경우 멤버 변수를 메소드 매개 변수로 전달하는 이유는 무엇입니까? 이것은 또한 캡슐화 위반입니다.
이 코드에 다른 문제가 있습니까?