l

2014年5月28日 星期三

談談壞味道(15):Comments

May 20 13:53~14:16

螢幕截圖 2014-05-20 14.15.13

 

Comments(註解)

從今年三月下旬開始介紹壞味道,到今天剛好約兩個月的時間,終於要介紹《Refactoring》書中最後一個壞味道—Comments(註解)。Comment如果用的好,算不上是壞味道,甚至是好味道。但在很多情況下,註解被當成是一種「障眼法」,用來掩飾「寫得亂七八糟,沒人看得懂的程式碼。」舉個例子:

   1: /*  
   2: *  這是一個整數加法函數,傳回參數 a + b 的答案
   3: */
   4: public int xyz(int a, int b){
   5:   return a + b;
   6: }

為什麼不把函數名稱xyz改成add,而要用註解來解釋一個意圖不明確的函數名稱?

廣義來看,整本《Refactoring》的內容,就是希望改善軟體設計的品質,讓程式碼容易被理解、擴充,甚至是增加可測性。以上努力,都可以讓鄉民們在程式中少寫很多註解。至於何種情況應該使用註解,何時應該避免,可參考《Clean Code》的第四章,有非常完整的說明。

***

Comments之所以會是一個bad smell的原因可歸類為:understandability和modifiability這兩點。

移除Comments壞味道的方法,在《Refactoring》書中提到可以套用Extract Method、Rename Method、Introduce Assertion。

***

友藏內心獨白:可以放鞭炮了。

沒有留言:

張貼留言