Haskell程式設計精華:什麼時候該註釋,什麼時候不該註釋

edithfang發表於2014-07-28
大家都知道,寫程式時應該讓程式易讀易懂,而新增註釋是讓你的程式實現這個目標的好方法。然而,對於一個程式,並不是你新增了足夠多的註釋,它就能變得的易懂易讀。事實上,第一要務是你的程式要寫的乾淨整潔,這樣也就沒有新增註釋的必要了。

編譯器是不會檢查你的註釋的,而註釋往往會滯後於程式碼的更新,跟實際程式碼實現不一致。如果你打算要寫一段註釋,在你真正的動手寫之前,請先思考一下下面的這些問題:
  • 這段註釋是來標註一個特殊情況嗎?那麼,你最好別讓這個特殊情況存在。例如:
a+b-b  -- 你不能刪除這裡的(b-b),因為這裡的算術操作不按正常的結合性
如果你這裡是自定義的資料型別,操作不按正常的結合性,那麼,最好你就不應該讓它看起來是一個Num例項。

我要再次強調:努力 – 努力 – 再努力 – 去除程式中的特殊行為特徵。註釋是不能為這些反常行為提供安全保護的。
  • 不用看都明白的註釋?例如:
-- 互換一對元素
swap :: (a,b) -> (b,a)
恭喜你,你使用了一個非常好的函式名稱,非常好的過程語法,使得這個函式的意圖非常的明顯,不需要任何註釋。所以,刪掉這個註釋。留著它早晚是個禍害,有一天它會滯後於程式碼的更新。
  • 註釋的內容描述Haskell語言的動作?
let b=a+1   -- 讓'a'加1
這裡的+和1顯然就是程式的執行過程。

你最好註釋程式碼的意圖,比如:
let b=a+1   -- 增加迴圈計數器'a'
但是,重複之前的觀點,讓程式乾淨整潔而不需要註釋是最好的選擇。例如:
let newCounter = oldCounter+1
英文原文標題是:Commenting。
相關閱讀
評論(0)

相關文章