有好多种情况吧。
就比如我如果满足A==B就执行下面的一堆操作。
if (A == B) {
    Option1() ;
    Option2() ;
    Option3() ;
}
你会发现你有一个大括号。那么这个时候你显然可以写成这样:
if (A != B) continue ;
Option1() ;
Option2() ;
Option3() ;
再比如如果你的if是嵌套在for里面,并且一旦这个if成立那么就会直接跳出循环,像这样:
for (int i = 1 ; i <= N ; i ++) {
    if (A == B) break ;
    else Option() ;
}
那么你如果知道for的特性,就可以把它写成这样:
for (int i = 1 ; i <= N, A != B ; i ++)
     Option() ;
如果你有一大堆条件判断语句,你可以尝试进行容斥,将之缩减为一个或者几个。

至于楼主说的有可能是全局类型的优化,那么就是一种算法策略上的东西了。这个东西应该是需要你在执行主体算法之前就做好一定的预处理,使我们我们的程序本身便会少走弯路,并不用使用很多的判断去避免冗余或者是其他情况,这可以象征性地理解为深搜里面的剪枝。
至于码风上面的问题我基本上没有什么好说的,但是我习惯性的会把if括号后面的else打一个tab
if (A == B) {
    Option1() ; Option2() ;
    Option3() ; Option4() ;
}    else if (A == C){
    Option5() ; Option6() ;
    Option7() ; Option8() ;
}    else {
    ...
}
有人说我代码很毒....但是我确实觉得这样挺好看的呀。(无辜
当然你想用switch也可以,但是我觉得switch更丑......
当然,我并不觉得刻意省略if/else有什么必要,条件选择语句可是基本语句之一诶,在美化程序的前提下是你的代码能够跑出来正确的结果......