神仙數

神仙數是指在程式異或是工程中出現的常數。

神仙數 是指在程式異或是工程中出現的常數

比如你在寫一個9宮的C++程式,你定義了一個數組int map[3][3],後來在程式中不斷出現3和9這樣的字眼

但是如果我想擴展呢,想把9宮擴展成為16或是25或是縮小為4宮呢

比如我現在想擴展成為16宮,這樣的話我就得把程式中所有的3改為4,所有的16改為9,很顯然會比較麻煩

或許有些人會說,我可以用替換功能搜尋所有的3替換為4,9替換為16,確實,對於這個簡單程式是可以在30秒之內用這種方法解決,

但是如果是一個很大很大的工程呢,我們還是替換所有的要改的數字如2替換為3嗎,結果22變成33了,變數a2b變為了a3b

所以為了避免以後維護和修改帶來的麻煩,在程式中應該儘量避免出現神仙數

可以使用const定義一個變數代替該常數,修改的時候只需修改const變數的值即可

比如對於9宮定義

const int MAPWIDTH = 3;

const int MAPTOTAL = 9;

最終要擴展為16宮的時候,只需要將上面的語句改為

const int MAPWIDTH = 4;

const int MAPTOTAL = 16;

即可

而且對於出現在工程中的常數,當別人或者是日後維護的時候碰到,會覺的這個常數莫名其妙,猜不到是什麼意思

比如你碰見了3,那么這個3代表什麼呢,是寬度,總數,基數還是其他的什麼含義

所以用const定義一個含義比較清晰地變數,使其值為3,如上面的MAPWIDTH

在原來是3的地方現在是MAPWIDTH,我們就很容易想到寬度了啦

相關詞條

熱門詞條

聯絡我們