May 20 13:53~14:16
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。
***
友藏內心獨白:可以放鞭炮了。
沒有留言:
張貼留言