2011-07-07 67 views
5

我回顧了一些用Ruby編寫的專業代碼,發現沒有評論。代碼合理清晰,但不能自行記錄。我應該期望專業編寫的Ruby代碼有意見嗎?或者,有沒有一些Ruby原則認爲評論不被認爲是必要的?在Ruby代碼中沒有評論可以接受嗎?

+2

相關:http://rubyrogues.com/what-makes-beautiful-code/ –

+0

@關閉投票人:這是如何離題? –

回答

5

這個問題並不是Ruby獨有的。

代碼註釋應該保持在絕對最小值,因爲代碼更改時通常不會更新代碼註釋,並且會變得更具誤導性而不是有用。

正如你已經建議,最好的代碼是自我記錄,不需要評論。

編輯:澄清,如果你不能減少代碼來消除複雜性,你必須提供意見。這在我的經驗中很少見,通常只適用於外部組件不符合您預期的行爲。

+2

註釋只能用於提供不同預期結果的代碼(例如,處理浮點精度錯誤時)。 – 2011-07-07 10:41:27

+3

評論應該隨代碼更改保持最新,這不是一個很大的努力,當然也不足以爲不寫評論提供藉口。而OP當然並不建議最好的代碼是自我記錄。 –

+3

自我記錄代碼只適用於簡單的任務。任何複雜的代碼*需要*一些評論。 –

5

Ruby的創建者Matz在這裏和那裏陳述他的哲學:「源代碼是文檔,甚至可以正確說明所有錯誤。」他可能也意味着評論。我想很多不會評論Ruby源代碼的人都在跟着他的話。你是否跟隨他取決於你。

我也讀過一些Ruby的介紹性網站說,只要你覺得有必要發表評論,那就表明你應該按照單獨的方法拆分這個例程,並且將它命名爲你要評論的那部分。

+1

感謝您的報價!我仍然不會購買他的觀點(在我看來,代碼可以是關於what/how的一個很好的文檔,但不是爲了why/rationale),但是您已經回答了我的問題,因爲這是Ruby中被接受的做法世界。 – mikera

+1

說得好!我完全同意你對這個問題的看法@sawa –

+1

同意。 *意圖*不明確時使用註釋。好的代碼需要較少的評論。 –