Haskell:什么時候該注釋,什么時候不該注釋

jopen 10年前發布 | 7K 次閱讀 Haskell

大家都知道,寫程序時應該讓程序易讀易懂,而添加注釋是讓你的程序實現這個目標的好方法。然而,對于一個程序,并不是你添加了足夠多的注釋,它就能變得的易懂易讀。事實上,第一要務是你的程序要寫的干凈整潔,這樣也就沒有添加注釋的必要了。編譯器是不會檢查你的注釋的,而注釋往往會滯后于代碼的更新,跟實際代碼實現不一致。如果你打算要寫一段注釋,在你真正的動手寫之前,請先思考一下下面的這些問題:

這段注釋是來標注一個特殊情況嗎?那么,你最好別讓這個特殊情況存在。例如:

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。本文是在程序師網首次發表.

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!