看下面的代码:
上面的代码,也就是说,只要 a 不等于 F2,就调用 F1(),似乎可以简化成如下代码:
其实上面代码有两个问题:
那是不是下面的代码好些呢?
这种代码,我觉得可理解性要好些,但也有新问题,如果 "F1" 是命中机率最大的,那么执行 else 的可能性就越大,性能上要差一些,还有一个担心会让人忽略掉 "F1" 这个条件。
其实,我个人觉得本文最上面的代码是最好的(在本文三段代码中比较),当然如果花括号中是一大段代码,而不是简单地调用 F1()、F2(),这段代码就有劣势了,就得采用第三段代码,因为它是最好理解的。