次の基本クラスが与えられます。
public class MyClass
{
private object m_memberVariable;
public MyClass()
{
this.m_memberVariable = new object();
}
}
次のメソッドの実装のうち、test
プログラミングの実践に適しているのはどれですか?
private void test()
{
if(this.m_memberVariable == null)
{
return;
}
System.Diagnostics.Debug.Write(this.m_memberVariable.ToString());
}
または
private void test()
{
if(this.m_memberVariable != null)
{
System.Diagnostics.Debug.Write(this.m_memberVariable.ToString());
}
}
約10年前に教授から思い出そうとする場合、ifステートメントのベストプラクティスは、偽よりも真である可能性が高い条件(後者)を持つことです。しかし、最近私はReSharperの試用版を使用しており、彼らの提案は前者です。メンバーはクラスのm_memberVariable
インスタンス化時に初期化され、クラスの存続期間中はnullではない可能性があります。