我回顧了一些用Ruby編寫的專業代碼,發現沒有評論。代碼合理清晰,但不能自行記錄。我應該期望專業編寫的Ruby代碼有意見嗎?或者,有沒有一些Ruby原則認爲評論不被認爲是必要的?在Ruby代碼中沒有評論可以接受嗎?
回答
這個問題並不是Ruby獨有的。
代碼註釋應該保持在絕對最小值,因爲代碼更改時通常不會更新代碼註釋,並且會變得更具誤導性而不是有用。
正如你已經建議,最好的代碼是自我記錄,不需要評論。
編輯:澄清,如果你不能減少代碼來消除複雜性,你必須提供意見。這在我的經驗中很少見,通常只適用於外部組件不符合您預期的行爲。
註釋只能用於提供不同預期結果的代碼(例如,處理浮點精度錯誤時)。 – 2011-07-07 10:41:27
評論應該隨代碼更改保持最新,這不是一個很大的努力,當然也不足以爲不寫評論提供藉口。而OP當然並不建議最好的代碼是自我記錄。 –
自我記錄代碼只適用於簡單的任務。任何複雜的代碼*需要*一些評論。 –
Ruby的創建者Matz在這裏和那裏陳述他的哲學:「源代碼是文檔,甚至可以正確說明所有錯誤。」他可能也意味着評論。我想很多不會評論Ruby源代碼的人都在跟着他的話。你是否跟隨他取決於你。
我也讀過一些Ruby的介紹性網站說,只要你覺得有必要發表評論,那就表明你應該按照單獨的方法拆分這個例程,並且將它命名爲你要評論的那部分。
感謝您的報價!我仍然不會購買他的觀點(在我看來,代碼可以是關於what/how的一個很好的文檔,但不是爲了why/rationale),但是您已經回答了我的問題,因爲這是Ruby中被接受的做法世界。 – mikera
說得好!我完全同意你對這個問題的看法@sawa –
同意。 *意圖*不明確時使用註釋。好的代碼需要較少的評論。 –
- 1. C++:在頭文件中有代碼可以接受嗎?
- 2. 有什麼工具可以評論JavaScript代碼嗎?
- 3. 我可以在評論中添加鏈接到Visual Studio中的代碼塊嗎?
- 4. 我們可以統計gerrit中的代碼評論數量嗎?
- 5. 評論代碼或不評論代碼
- 6. 一個Procfile可以有評論嗎?
- 7. rubymine評論出欄軌道代碼
- 8. 有沒有辦法在Notepad2中評論代碼?
- 9. 在IL中有評論嗎?
- 10. NHibernate可以生成沒有用param名稱評論的SQL嗎?
- 11. 評論:內置函數,CodeAcademy Python不接受代碼
- 12. 可以在源代碼中添加關於錯誤修復的評論嗎?
- 13. 代碼未被在線評審接受
- 14. 你可以在Ruby中調用者的上下文中評估代碼嗎?
- 15. 在窯代碼評論中沒有水平滾動條
- 16. 已移至代碼評論評論
- 17. 傳遞密碼可以接受嗎?
- 18. JS代碼:評論
- 19. Jquery代碼評論
- 20. PHP評論代碼
- 21. PHP:評論代碼
- 22. 是否有可能在TextWrangler中阻止評論Python代碼
- 23. Python Regex中評論代碼
- 24. netbeans中的評論代碼?
- 25. 窯評審委員會沒有顯示我的代碼評論?
- 26. 是否可以在WordPress中沒有博客文章的評論?
- 27. 我可以評論Facebook的風格嗎?
- 28. 可以Intellij/Android Studio摺疊評論嗎?
- 29. 是否可以評論評論
- 30. 用Range響應代碼回覆Range請求可以接受嗎?
相關:http://rubyrogues.com/what-makes-beautiful-code/ –
@關閉投票人:這是如何離題? –