プロジェクトで、次のようなコードを見つけました。
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);
//.............
}
};
これが悪いコードであることをチームメートに納得させるにはどうすればよいですか?
これは不必要な複雑さだと思います。既にアクセスできるのに、メソッド変数としてメンバー変数を渡すのはなぜですか?これもカプセル化の違反です。
このコードに他の問題がありますか?