程式碼中的魔術數字

原本以為很多文章都會提到,沒想到稍微google一下中文資訊居然這麼少,既然自己的文章提到了,那就自己說明一下吧。





通常在程式碼中為了保持彈性,某些狀態會設定為數字當作彼此溝通的介面,這邊就舉例最常遇到的http狀態碼來說明,200表示成功,這個很常遇到,所以可能不用查也知道意思,但其他的數字呢?如果用變數的方式來取代是否可以立馬增加可讀性呢?

以下邊的變數名稱為例,如果今天要判斷連線是否成功 response.code == 200還是response.code == HttpStatus.SC_OK可讀性比較高呢?數字對於人類來說沒有可讀性,文字才有,如果只是用數字代表某個意思,就非得看更多的程式,理解上下文做了什麼之後,我們才能知道某個數字到底代表著什麼意思,但今天如果是清楚的模組與命名,我們就能夠一看就懂,這就是增加程式可讀性的小細節。

留言