最近準備觀摩下程式碼大全2(CodeComplete)
這本書,在譯序中介紹了這本書適合誰看,該怎麼看的問題。其中有第一條就是:
- 初級程式設計師,請先看第18章表驅動法:將複雜的邏輯判斷轉換為查詢表,從而簡化程式碼的編寫和維護。
於是我就跳轉到18章看了看。
看完後被這種技巧所震撼到,因為這個技巧跟我的想法不謀而合。
先來看下所謂的表驅動法
。
// 使用if else 來進行邏輯區分
if (x < 10 && x > 0) {
doSmall();
} else if (x < 100) {
doMedium();
} else {
doBig();
}
複製程式碼
// 使用表驅動法
executeTable[x].execute();
複製程式碼
可以看到ifElse被簡化成了一種優雅的做法,對於程式碼的可維護性大大提升,不在害怕因為ifElse判斷的增多而導致程式碼的可讀性和維護性下降,而且該做法也充分利用了介面的特性。