1

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

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

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

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

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

现在,显然使用列表来存储这些数据是不好的做法 - 忘记输入一条数据,您的所有数据都被损坏并关闭。

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

4

1 回答 1

1

我认为您需要一个带时间戳的抽象(如一个Task类)来存储您想要存储的内容,并提供一个允许查询世界当前状态和历史状态的接口。

看看福勒的时间模式以获得灵感。

于 2012-05-03T02:39:01.890 回答