给定以下基本类:
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
成员是在班级实例化时初始化的,并且可能在班级的寿命中是非无效的。
我始终尝试检查非零件并继续 - 然后您只有一个从功能中的出口点,因此必须将出口例程放在二进制代码中一次,结果结果在较小的结果中。但是我想无论如何,现代编译器无论如何都会优化它。