JodaTime-材料、または名詞の重要性を学ぶ

自分にバグを見つけました。 特定の日付に縛られることなく、特定のイベント間のミリ秒数の単なるラッパーである時間間隔を取得するために、いくつかのロジックが必要でした。



私のコードでは、startDateとendDateを計算し、次のようにDurationを返しました。

return new Period(startDate, endDate).toDuration();
      
      







startDateとendDateが1か月以上離れている場合、JodaTimeは例外をスローすることが判明しました。 ソリューションはすぐに見つかりました。



  return new Interval(startDate, endDate).toDuration();
      
      







私はそれを修正し、なぜ私がそのような間違いを犯したのかと思いました。 JodaTimeには、時間に関連するすべてを記述するための非常に豊富なクラスセットがあり、期間、間隔、期間などの違いを理解する時間がありませんでした。 そして、非常に無駄です。

私がコードを書いたとき、「報告期間中に、クバンの農民は除去され、脱穀された....」と私の頭の中で向きを変えた。 私は英語が堪能ですが、「報告期間」と同様に出くわした最初のクラスを選びました。 期間。



なぜ私はこれすべてですか? クラス/メソッド/変数に正しく名前を付けることが重要です。 私は(プロジェクトを終えた後、時間通りに)JodaTimeのドキュメントを読み、white望の的でした。 連中は、各クラスを固有名詞として命名することに多大な労力を費やしました。 間隔は期間ではなく、その理由は理解できます(ええ、今では明らかです)。 残念ながら、これは私にはいつも当てはまりません。 なんて残念。



All Articles