我认为应该始终使用类图来记录代码。我认为,如果您不直接看代码,就可以看到完整的体系结构。我同意,如果您自己编写代码或长时间工作,则可以理解,但是每次出现新需求时,都需要查看代码并在哪里添加此新代码。
我们在公司中所做的就是拥有我们项目的类图视图。我们并没有真正花费时间在建模上,而只是在进行逆向工程之后使用类图来可视化代码。如果代码更改,则存在合并机制,并且我的类图始终会更新。
奇妙的是,除了Java doc之外,还能够在图中添加注释,约束。我们反转项目,然后创建一个模型并最终从显示为UML类图的模型中提取视图。我目前不编写代码,但是可以从代码体系结构中获得蓝图,并对其进行工作以创建或扩展当前的体系结构。如果喜欢,则按一下按钮,现有代码将与我的图表合并。我的意思是合并,当然不是完整的代码生成。仅写入现有代码和我的图之间的差异,而不是每次都编写完整的代码。
我已经学习了很多年,拥有硕士学位并且仍然在编写代码,但是我不想只是一名Java作家,并且想多动一点脑筋。UML视图为我提供了思考我的体系结构,与其他团队成员进行交流并创建更好的体系结构所需的资源,而无需使用模型驱动的开发,而仅是现有手动编写的代码与以图形方式创建类图之间的差异。我在代码级别创建我的体系结构,然后将其反转并查看模型。我创建视图并尝试直接在代码中改进我的体系结构,然后再次反转并查看完成的操作等。这是一个永久迭代,没有模型驱动的代码生成,但实时同步或在代码和UML之间合并。我喜欢的是代码驱动UML,当然不是相反。