2

我们的团队对领域驱动设计相当陌生。我们有一个刚刚从设计阶段进入编码阶段的新项目。在设计阶段,一些团队成员在 Visio 中创建了 UML 设计模型,而另一些则刚刚开始编码。此外,随着构建版本的压力,我们的许多模型很快就过时了。

使对象模型保持最新很重要吗?为所有/大多数子系统配备它们是否重要?

4

4 回答 4

4

您拥有的代码(和模型)的最佳文档是代码和数据库模式。在代码之外开发模型可能对理解问题有一定的价值,但正如您最终发现的那样,这些都会成为一种负担。如果您要使用它们,则需要花时间使它们保持最新状态。敏捷哲学会说,只要从它们那里获得价值,就只投入尽可能多的时间来维护它们。一般来说,这并不多,因为无论如何代码都是最终权威。如果您有法规要求,则可能是另一种情况,但是如果您需要文档来描述它,我通常会在将模型翻译成代码后直接从代码/架构中根据需要重新生成模型。

于 2010-01-29T18:33:13.773 回答
1

我想答案是“这取决于”,不是吗?

如果项目很小,变化很快,等等,模型的投资回报率可能很差,最终重要的是工作代码。

另一方面,对于具有高度仪式性、不断变化的开发团队等的多年多阶段项目,您将从某种文档中受益匪浅。对象模型可以是这样一种文档。

毕竟没有灵丹妙药,因此,根据您的项目规模的哪一端,您可能会发现模型非常有价值或维护成本很高。

于 2010-01-29T18:33:49.357 回答
0

拥有任何类型的文档的目的是帮助开发,而不是阻止它。开发人员知道模型是怎样的,以及代码中的内容和文档中的内容之间的主要区别。

但是,您应该知道,您将没有任何材料(除了代码本身)可以展示给团队中的新员工,而且教新员工会花费一些时间。

所以这是一个决定什么是最有效的问题。如果保持模型过时会使团队更快,请不要更新模型。如果更新模型会在一定程度上改善开发,你应该这样做(不管多么无聊)

于 2010-01-29T18:36:43.610 回答
0

用户故事级别以下的任何文档都与实现细节直接相关,因此与易变的事实(为什么与如何)直接相关。因此,它(方法、模型)不应手动维护,而应仅在需要时生成,以改善开发人员的沟通。

始终维护文档是很棒的。如果您不能保证这一点,请查看源代码文档(并在更改代码时对其进行维护)并在需要时从您的代码中生成尽可能多的 UML 。

然后再次丢弃生成的文档。它只是为了帮助您更好地与开发人员沟通。它没有比这更有价值的了。

今天刚收到:一位开发人员向我提出了一个漂亮的 Visio 图表,打印在纸上,看起来非常漂亮。我打开 IDE 并向他展示了源代码中的内容与他手中的文档略有不同。我花了一些时间来明确代码胜过文档。总是。

于 2010-01-29T18:42:55.870 回答