最近准备观摩下代码大全2(CodeComplete)
这本书,在译序中介绍了这本书适合谁看,该怎么看的问题。其中有第一条就是:
- 初级程序员,请先看第18章表驱动法:将复杂的逻辑判断转换为查询表,从而简化代码的编写和维护。
于是我就跳转到18章看了看。
看完后被这种技巧所震撼到,因为这个技巧跟我的想法不谋而合。
先来看下所谓的表驱动法
。
// 使用if else 来进行逻辑区分
if (x < 10 && x > 0) {
doSmall();
} else if (x < 100) {
doMedium();
} else {
doBig();
}
复制代码
// 使用表驱动法
executeTable[x].execute();
复制代码
可以看到ifElse被简化成了一种优雅的做法,对于代码的可维护性大大提升,不在害怕因为ifElse判断的增多而导致代码的可读性和维护性下降,而且该做法也充分利用了接口的特性。