4

私はすでにかなりの数の図書館を出版しています。私がまだ決めていないのは、例外に名前を付ける方法です。Ruby標準ライブラリは常に例外にそのような名前を付けます(Exceptionまたはである名詞Error)-たとえば

  • ランタイムエラー
  • EOFError
  • ThreadError

対照的に、Railsは、などの短縮された例外名を使用RecordInvalidします。

ライブラリを作成し、それらのほとんどがRailsに関連していない場合、どの命名規則を使用する必要がありますか?Railsの「短縮名」は私にとってより魅力的であることを認めなければなりません。例外が発生すると、logs / debugger / stderrにポップアップするため、例外または何らかのエラーであることがすでにわかります。

4

2 に答える 2

10

これが私のやり方です。

例外の名前は、何が問題なのかを明確にしていますか?はいの場合、これで完了です。そうでない場合は、接尾辞を追加しErrorます。

だからあなたの例を使用して:

  • ThreadErrorThreadこれはすでにルビーの定数であり、例外的な状態の不十分な記述子でもあります。したがって、スレッド内の一般的なエラーを示すために接尾辞が必要です。
  • RecordInvalid:この場合、例外の名前は何が問題なのかを明確に示しています。 RecordInvlaidError冗長になります。

それを考える別の方法は、一般的なものと具体的なものの違いかもしれません。

  • ThreadError:一般的なエラー、スレッドで何か悪いことが起こった、正確には何がわからないが、それは良くなかった。したがって、これは「スレッド」内のある種の「エラー」を表します。
  • RecordInvalid:特定のエラー。ここにあるこのレコードには、データの整合性に特定の問題があり、保存できません。つまり、「レコード」は「無効」であり、それがあなたが言う必要があるすべてです。
于 2013-03-21T18:21:45.667 に答える
1

個人的に、私はErrorキャンプにいますが、それが自然に感じたときだけです。最後に置くErrorと、クラスが何であるか、通常のオブジェクトではないことなどが明確になります。Exception私の好みには少し長さがあり、接尾辞の欠如があいまいすぎます。

于 2013-03-21T18:22:06.273 に答える