仮説として、私が同僚の仕事を経時的に追跡しているとします。データを構造化する最良の方法は何ですか? 私の例は完全にでっち上げですが、実際に何度も出てきたプログラミングの問題です。
私の質問は、簡単な例で最もよく説明されています。
同僚の仕事を毎日 3 つの別々のリストにハードコーディングしています。リスト1が「彼/彼女がする必要があること」だとしましょう。リスト2が「彼/彼女がしたこと」だとしましょう。最後に、リスト 3 はこれらの値が記録された日付です。
すべてのリストは累積的であり、時間の経過とともに増加または減少する可能性があります。
したがって、4 日目のリスト 1 は 4 つの整数で構成されます: {100, 97, 94, 101} - 完了するために残っている作業を表す整数。4 日目には、リスト 2 は 4 つの累積整数値で構成されます: {0, 3, 3, 5} は、この同僚がこれまでに行った作業を表します (同僚が作業を行うたびに、リストに 1 つ追加します)。リスト 3 は日付で構成されます (プログラムが 1 日に 1 回実行されると仮定すると、2012 年 1 月 1 日、2012 年 2 月 1 日など)。
さて、このデータを保存するためにリストを使用することは明らかに悪い習慣です.1つのデータを入力するのを忘れると、すべてのデータが壊れて1つずれてしまいます.
この場合のベストプラクティスは何ですか?データはどのように構造化する必要がありますか? 私の頭の中では、日付から結果へのマッピングは良い習慣のように思えますが、これは正しく、「完了した作業/行うべき作業」情報を保持するカスタム クラスを作成しますか?