私はRubyで書かれた専門的なコードを見直し、コメントは見つけられませんでした。このコードは読みやすいとはっきりしていましたが、自己文書化はできませんでした。専門的に書かれたRubyコードにコメントが必要なのでしょうか?または、コメントが必須とは見なされないRubyの教義がありますか?良いRubyコードにはコメントがないと受け入れられますか?
答えて
この問題は、Rubyに固有の問題ではありません。
コードコメントは、コードが変更されたときには通常更新されず、参考になるよりも誤解を招くため、絶対に最低限に抑える必要があります。
あなたが既に提案したように、最良のコードは自己文書化であり、コメントは必要ありません。
編集:明確にするために、複雑さを取り除くためのコードを減らすことができない場合、はにコメントを提供する必要があります。これは私の経験ではまれなことですが、通常、外付けコンポーネントが予期したとおりに動作しない場合にのみ適用されます。
コメントは、異なる結果が予想されるコードでのみ使用してください(たとえば、浮動小数点精度エラーを処理する場合)。 –
コメントはコードの変更に関して最新の状態に保たれるべきであり、それは大きな努力ではなく、コメントを書いていないという言い訳をするのに十分な大きさではありません。 OPは確かにベストコードが自己文書化していることを示唆していません。 –
自己文書化コードは、簡単な作業のために実行可能です。任意の複雑なコード*はいくつかのコメントが必要です。 –
Rubyの作成者であるMatz氏は、「ソースコードはドキュメントであり、すべてのバグも正しく記述しています」と述べています。そして彼はおそらくコメントのためにそれを意味するでしょう。私はRubyのソースコードにコメントしていない多くの人が彼の言葉に従っていると思います。あなたが彼に従うかどうかはあなた次第です。
Ruby入門Webサイトでは、コメントする必要があると感じるたびに、その方法を個々の方法と同じように分割し、その部分をコメントするときに名前を付けるべきだという噂を紹介しました。
お見積もりありがとうございます!私はまだ彼の議論を買わない(私のビューコードでは、どのように/理由についての偉大なドキュメンテーションになることができますが、理由と理由はありません)が、これはRubyで受け入れられている練習であるという意味で私の質問に答えました世界。 – mikera
まあまあ!私はこの問題に関するあなたの見解に完全に同意しています@sawa –
合意。 *インテント*が明確でない場合はコメントを使用してください。良いコードではコメントが少なくて済みます。 –
- 1. AVCapturePhotoSettingsが受け入れられないNSDictionary要素を受け入れる
- 2. symfony 406(受け入れられない)
- 3. プロビジョニングプロファイルが受け入れられていませんか?
- 4. PayPal NVPが通貨コードを受け入れないのはなぜですか?
- 5. charonが自分のコードを受け入れないのはなぜですか?
- 6. Android - テキストの編集...キーボードからの入力が受け入れられない
- 7. 入力[時刻]コントローラからの値が受け入れられない
- 8. このDBデザインは受け入れ可能ですか、それとも良い方法がありますか?
- 9. PHPとMySQLで受け入れられないリクエストを受け取ることができません
- 10. Spring MVCとJSON - 406受け入れられない@Responsebody
- 11. 長いクエリでMySQLの「wait_timeout」が受け入れられないのですか?
- 12. 安全でないPOSTのために返す応答コードは受け入れられませんか?
- 13. なぜアクセントはsfValidatorEmailで受け入れられますか?
- 14. ユーザ入力文字列をトリミングしないことはいつ受け入れられますか?
- 15. 私のクラスが受け入れられない理由
- 16. Sqliteコンソールでアクセントが受け入れられない
- 17. Delayed ::キュウリ試験でジョブrun_atが受け入れられない
- 18. NodeJS XML HTTP POST要求ヘッダーオブジェクトが受け入れられない
- 19. CORSリクエストでレスポンスステータス201が受け入れられない
- 20. odoo iframeが受け入れられない "?" in url
- 21. Jqueryのオートコンプリートで変数が受け入れられない
- 22. rabbitmq固有のルーティングキーが受け入れられない
- 23. IE8 - コンテンツが受け入れられないSymfony 2 App
- 24. ローカルストレージがオブジェクトからの値を受け入れない
- 25. 受け入れられませんか?
- 26. AppDelegateにコードを入れてコードの重複を減らすことは、いつ受け入れられますか?
- 27. Python JSON変数が受け入れられていません
- 28. UNIX ZFS ACLが受け入れられていません
- 29. PHPログインページで値が受け入れられていません
- 30. アドレスバーに入力するURLは受け入れてはならない。
関連性:http://rubyrogues.com/what-makes-beautiful-code/ –
@Close Voter:これはオフトピックですか? –