天天看點

《編寫高品質代碼:改善c程式代碼的125個建議》——建議24:選擇合理的case語句排序方法

本節書摘來自華章計算機《編寫高品質代碼:改善c程式代碼的125個建議》一書中的第3章,建議24,作者:馬 偉 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

對于switch中的case 語句排序問題,如果case 語句很少時,可以忽略這個問題。但是,如果case 語句很多時,那就需要好好考慮這個問題了。一般而言,可以選擇下面3個建議進行合理排序。

建議24-1:盡量按照字母或數字順序來排列各條case 語句

通常情況下,如果所有case 語句沒有明顯的重要性差别,并且發生的頻率都差不多,那麼可以按a-b-c 或1-2-3 等順序來排列case語句。這樣做不僅可以提高代碼的可讀性,而且可以很容易找到某條case 語句,如上面的代碼清單3-2所示。

建議24-2:盡量将情況正常的case 語句排在最前面

如果switch中存在多個情況正常的case 語句,同時又存在多個情況異常的case 語句。那麼應該盡量将情況正常的case 語句排在最前面,而将情況異常的case 語句排在最後面。同時,做好相應的注釋,如下面的示例代碼所示:

建議24-3:盡量根據發生頻率來排列各條case 語句

如果能夠預測出每條case 語句大概的發生頻率,就可以将執行頻率最高的case 語句放在最前面,而将執行頻率較低的case 語句放在最後面。這樣不僅可以适當提高程式的性能,而且便于調試代碼。因為執行頻率最高的代碼可能也是調試的時候要單步執行次數最多的代碼。如果放在後面,找起來可能會比較麻煩,而放在前面則友善快速找到。

繼續閱讀