在一个项目中,我发现了这样的代码:
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);
//.............
}
};
我如何说服我的队友这是错误的代码?
我相信这是不必要的并发症。如果已经有成员变量,为什么还要将其作为方法参数传递呢?这也违反了封装。
您还发现此代码还有其他问题吗?