誒,到底要不要寫註解?

內心始終都有這個疑問,過程中不時有工作的伙伴告訴我們,你都不寫註解,人家要怎麼看得懂。問題反過來問,難到我寫了註解,你就看得懂了嗎?

我想這篇文章說明了一些關於註解的兩三事,5 reasons to avoid code comments

我們花了很多時間在讀程式,甚至是比我們寫程式的時間要多的多,僅管我們找不到一篇強而有力的文獻來支持這個論點,但我想身為Programmer的你我,都知道這件事,所以我們想辦法要讓我們的Code好讀,而我們常常直覺想到的一件事,就是”寫註解”。

而我們可以在很多本書裡面得到不同的見解,像是Clean Code

we should avoid to write comments unless we have a really good reason to write one
我們應該儘量去避免寫註解,除非我們有一個非常好的理由.

註解暗示我們可以寫出爛爛的Code

當我們知道我們可以寫註解來加強我們的Code,就代表我們變數的名字可以亂取,Function Name可以亂取,程式邏輯可以亂來,反正我們有註解可以幫忙啊!

我們花了超多的時間在寫註解和維護他啊!

註解就像是我們用人類語言在寫程式一樣,就像翻譯一樣,當我們寫了一個Function,我們再用註解來形容他,我們就寫了兩次啊,這當場違反天條 DRY(Don’t Repeat You)。所以就會發現如果我們要改 Function 就要改註解,花兩倍的時間啊!

註解是不能測試的,更是不能驗證的

程式是個好東西,因為他可以測試,寫錯了會有人知道,無論是 Compiler 或是 User,總而言之就是有個er結尾的東西會知道程式錯了。但是註解寫錯了…只有Programer會知道啊,知道錯了,還不知道要怎麼修他勒,到底是文法錯了,還是語意錯了,還是程式真的是這樣Run的,到底是程式是對的還是註解是對的,搞得我好亂啊!

某程度來說,註解比程式不值得信賴多

如果你是 Programmer,你就會知道需求變來變去的,然後就會發生,這個需求很趕,你先改一下程式,註解?算了啦!先讓程式可以動再說,然後程式就和註解不同步了…接著出現問題,你老闆請你查一下問題,你會先看程式還是先看註解,痾…先看註解吧,但是最後好像還是要看程式,然後我也不會去改那個寫的不太對的註解,然後他就這樣一直留著那了,或是在下面加上一行”#這註解好像不太對,不要相信它”,也不把他砍掉,就這樣一直留在Version Control裡面很久很久,久到不知道他到底在幹麼。

其實 Comment 很占空間的

有一些公司或是組織,他們有一些標準的註解格式,真的是要命的肥,肥到比我們的 Code 都要肥,如果這些肥註解,還有上面幾個要命的特徵,那真不知道他是肥什麼意思的。