考虑以下代码:
if (condition1)
{
// Code block 1
}
else
{
// Code block 2
}
如果我知道condition1
大部分时候都会是true
,那么我应该按照原本的逻辑编码,而不是:
if (!condition1)
{
// Code block 2
}
else
{
// Code block 1
}
由于我将避免跳转到第二个代码块的惩罚(注意:我对汇编语言的知识有限),所以这个想法是否适用于switch语句和case标签呢?
switch (myCaseValue)
{
case Case1:
// Code block 1
break;
case Case2:
// Code block 2
break;
// etc.
}
如果我知道其中一种情况更常见,是否可以重新排列case
标签的顺序以使效率更高?我应该这样做吗?在我的代码中,我按字母顺序对case标签进行排序,以提高代码的可读性,但没有真正考虑过这个问题。这算是微观优化吗?