2012-05-02 54 views
1

假设,如果我随着时间的推移跟踪同事的工作。什么是构建我的数据的最佳方式?我的例子是完全组成的,但这是一个编程问题,在实践中出现了很多次。随着时间的推移构建数据的最佳实践

我的问题最好用一个简单的例子说明:

你硬编码您的同事工作到每天三个不同的列表。 假设列表1是“他/她需要做什么”。 假设列表2是“他/她做了什么”。 最后,列表3是这些值被记录的日期。

所有列表都是累积的,可以随时间增加或减少。

因此,在第四天,清单1将由4个整数组成:{100,97,94,101} - 表示剩余待完成工作的整数。 在第四天,列表2将由4个累积整数值组成:{0,3,3,5}表示此同事迄今为止所做的工作(每次他们完成一项工作时,您将向列表中添加一个) 。 列表3将包含日期(假设程序每天运行一次,所以01/01/2012,02/01/2012等)。

现在,很明显使用列表来存储这些数据是一种糟糕的做法 - 忘记输入一块数据,并且您的所有数据都被破坏并关闭。

这种情况下最好的做法是什么?数据应该如何构建?在我看来,从日期到结果的映射似乎是一种很好的做法,这是否正确,并创建一个自定义类来保存“完成的工作/待完成的工作”信息?

回答

1

我认为你需要为你想存储,并提供允许查询世界当前状态,也历史状态的接口有什么时间戳的抽象(如Task类)。

看看福勒的temporal patterns的灵感。