魔術數字

上述舉例的紐約時報行動軟體團隊的Objective-C程式碼撰寫風格各位參考完之後,不一定100%都要照上面的規則走,例如像方法的宣告就有兩種:

- (void)newFunc {
}

- (void)oldFunc
{
}

很單純習慣性問題而已,建議也可以多看看蘋果Xcode裡的官方程式碼都是怎麼寫來學習。

接下來要講到一個很恐怖的東西,叫做魔術數字,也是新手時期常會犯的錯誤。


寫程式時我們常常會用到很多數字,例如0、1、2.....99等,但是在程式碼中直接寫上數字是非常不明智的事情,寫程式的當下你可能知道數字24是某個網路請求後伺服器所傳回來的ErrorCode,他可能代表著帳號錯誤,所以你當下就會寫成:

if (errorCode == 24) {
    //執行了一大堆事件
}

但過了一段時間,可能一個禮拜或一個月,你想要改一下Code,卻發現你看不懂24是什麼鬼東西,但是程式一樣跑得起來,這就是所謂的魔術數字,正確的寫法我們通常會用常數或是define去定義他:

static const int account_Error = 24;
或
#define account_Error 24;

然後寫法就會變成:

if (errorCode == accountError) {
    //執行了一大堆事件
}

這樣我們就不會造成魔術數字,因為對於我們來說,程式裡的數字對於閱讀性是沒有任何意義的,為他取一個名字才有助於我們對於24這個數字的定義。

results matching ""

    No results matching ""