检查null并返回或检查非零件并继续继续前进是更好的吗?



给定以下基本类:


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陈述的最佳做法是,其条件可能比False(后者)更频繁地是正确的。但是,最近我一直在使用Resharper的试验,他们的建议是前者。m_memberVariable成员是在班级实例化时初始化的,并且可能在班级的寿命中是非无效的。

我始终尝试检查非零件并继续 - 然后您只有一个从功能中的出口点,因此必须将出口例程放在二进制代码中一次,结果结果在较小的结果中。但是我想无论如何,现代编译器无论如何都会优化它。

最新更新