我不明白为什么它是在if块为什么我应该在if块中使用正逻辑?
http://msdn.microsoft.com/en-US/library/aa629483.aspx
首选用正逻辑最佳实践:
if (true)
{
...
}
else
{
...
}
为什么这是一个最好的做法有积极的逻辑一个if块?
我不明白为什么它是在if块为什么我应该在if块中使用正逻辑?
http://msdn.microsoft.com/en-US/library/aa629483.aspx
首选用正逻辑最佳实践:
if (true)
{
...
}
else
{
...
}
为什么这是一个最好的做法有积极的逻辑一个if块?
它的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)
我避免条件句,“正逻辑”本来需要的级联。
我有时会做这样的半正逻辑。我认为这是技术上积极的逻辑,因为它不使用“不”操作符。我有时觉得很难总是使用正逻辑,因为它最终使我的代码非清洁:
if (ICanDoThis == false)
{
// I can't do this
}
else
{
// I can do this
}
我一直认为人首先测试最可能的结果。例如模式对话框通常有一个默认按钮(突出显示)您可以看到这一点,因为这很有可能或最常用,因此如果您期待为真,您会看到
if (true) {
} else {
}