程式設計技巧之-表驅動法

LiDaQian發表於2018-11-16

最近準備觀摩下程式碼大全2(CodeComplete)這本書,在譯序中介紹了這本書適合誰看,該怎麼看的問題。其中有第一條就是:

  • 初級程式設計師,請先看第18章表驅動法:將複雜的邏輯判斷轉換為查詢表,從而簡化程式碼的編寫和維護。

於是我就跳轉到18章看了看。

看完後被這種技巧所震撼到,因為這個技巧跟我的想法不謀而合。

先來看下所謂的表驅動法

// 使用if else 來進行邏輯區分
if (x < 10 && x > 0) {
	doSmall();
} else if (x < 100) {
	doMedium();
} else {
	doBig();
}
複製程式碼
// 使用表驅動法
executeTable[x].execute();
複製程式碼

可以看到ifElse被簡化成了一種優雅的做法,對於程式碼的可維護性大大提升,不在害怕因為ifElse判斷的增多而導致程式碼的可讀性和維護性下降,而且該做法也充分利用了介面的特性。

相關文章