2011-03-21 38 views

回答

13

它的generally regarded更容易理解。

if (!ICanDoThis) 
{ 
    // don't do it 
} 
else 
{ 
    // do it 
} 

if (ICanDoThis) 
{ 
    // do it 
} 
else 
{ 
    // don't do it 
}  

你的逻辑可能是今天清澈的给你,但谁想到对面正好从现在开始一两年开发的。

但是和其他一切一样,这只是一个指引。具体来说,我使用类似“负逻辑”错误检查:

if (!myParametersAreValid) 
{ 
    // fail out 
} 

DoWorkWith(myParameters) 

我避免条件句,“正逻辑”本来需要的级联。

1

我有时会做这样的半正逻辑。我认为这是技术上积极的逻辑,因为它不使用“不”操作符。我有时觉得很难总是使用正逻辑,因为它最终使我的代码非清洁:

if (ICanDoThis == false) 
{ 
    // I can't do this 
} 
else 
{ 
    // I can do this 
} 
1

我一直认为人首先测试最可能的结果。例如模式对话框通常有一个默认按钮(突出显示)您可以看到这一点,因为这很有可能或最常用,因此如果您期待为真,您会看到

if (true) { 

} else { 

} 
相关问题