Language agnostic 类图——是否有用?

Language agnostic 类图——是否有用?,language-agnostic,class,diagram,Language Agnostic,Class,Diagram,一个类图实际上与在所有函数都已折叠的情况下查看类定义有什么不同?我被要求写一些,并意识到这一切只是。。阅读资料来源。。它有评论。类图的意义是什么,即使是注释很少的定义也有什么不同,是什么使一个好的类图比其他类图更好 编辑:是的,源代码已经存在,并且早在类图出现之前就已经存在了 另一个编辑:人们一直在谈论视觉与文字的品味。这不是给我的类图的定义。它仍然是纯文本的。示例类图是一组文本,类似于剪切了函数定义的源代码。这就是我问的原因。如果它是一个真正的图表,我可以理解。一个好的类图清楚地显示了每个类的

一个类图实际上与在所有函数都已折叠的情况下查看类定义有什么不同?我被要求写一些,并意识到这一切只是。。阅读资料来源。。它有评论。类图的意义是什么,即使是注释很少的定义也有什么不同,是什么使一个好的类图比其他类图更好

编辑:是的,源代码已经存在,并且早在类图出现之前就已经存在了


另一个编辑:人们一直在谈论视觉与文字的品味。这不是给我的类图的定义。它仍然是纯文本的。示例类图是一组文本,类似于剪切了函数定义的源代码。这就是我问的原因。如果它是一个真正的图表,我可以理解。

一个好的类图清楚地显示了每个类的职责和关联-在适当的抽象级别。

类图很有用,因为它们允许您在更高的粒度级别上进行设计。白板上绘制的操作比源代码更容易更改。它还通过行清楚地显示关联,而不是浏览代码

它们很有帮助,因为它们是从概念概念到源代码的一个序列。
他们让你用更少的话说更多的话。

如果你有一两门课,那就没有什么区别了。 如果您有一个复杂的对象模型,情况会发生变化

而且,至少对我来说,很容易先看一个图表,以寻找我想要的,而不是看一堆源文件。
同时,看到图片上的课程及其关系也有助于理解项目的想法。

如果来源已经存在,我想这是一句古老的格言,“一张图片能说出千言万语”。 对于不熟悉源代码的人来说,图表可以帮助他们在阅读源代码之后更快地了解总体设计,无论文档记录得多么完善。有些人比其他人更直观。就我个人而言,我宁愿知道消息来源。 就像很多事情一样,这可能是一个品味的问题

编辑


我认为图表的定义是它是可视的。然而,如果它只是一堆文本,那么我能看到的唯一一点是,它提供了意图的概述,而没有不必要的实现细节。

我宁愿有源代码。考虑到这一点,我总是可以对其进行反向工程


你必须问一下UML的用途:它只是一种通信设备,一种让其他开发人员了解你的想法的方法。如果UML有帮助,那就太好了。如果它成为维护的另一个负担,那么最好使用具有良好单元测试的代码。

查看图表和源代码之间的区别在于,查看图表(图片)时不需要处理比读取源代码(千字)时更多的数据

根据我的经验,当我不熟悉软件的体系结构时,我发现类图非常有用。但是类图并不能取代对源代码和适当文档的需求,它们只是一种通信和生产力工具,可以补充我前面提到的方法。他们的目的是理解软件架构。不替换其他文件。类图有多有用取决于它的质量、它和源代码的复杂性

不要在图表中加入太多细节。这让他们感到困惑。您将希望它们通信关系,而不是API和方法列表


它们还有助于了解何时何地重构代码。使用类图和适当的文档,您将一切就绪

我不太清楚类图给了您什么定义-听起来好像您看到的示例中只有一个类。如果是这样的话,我能理解你为什么认为这有点可笑

类图是显示类之间关系的一种方式——一个好的类图可以在一个图中提供有关系统如何工作的大量信息,值得仔细研究。它允许不熟悉子系统的开发人员快速提高速度,而不会陷入实现细节的泥潭

下面是我通过快速谷歌找到的一个简单例子:


一些工具(微软的VisualStudio就是其中之一)包含的工具允许您绘制一次类图,并使其自动与代码保持最新(“同步”)。非常有用。

在初始设计阶段,白板上的操作更容易更改,但如果源代码已经存在(如OP的问题中所暗示的),那么我就不同意。这里有一个往返设计工具很方便。:)塞格威!=赛格。。。以前有没有人在一句话中使用过“segway”和“poversive”我知道,我拼写错了[和我女朋友就此事进行了45秒的辩论。而且,是的。普及可能不是最好的词。@robert rofl。我应该做一个“segway near-普及”搜索。当我读到ansewr时,脑海中突然浮现出一个概念性的想法,骑着赛格威去寻找一些源代码:)嗯,那你说的是什么样的类图?我在UML中熟悉的类图本质上肯定是图形的,而不是文本的:类是框,有各种各样的连接器来显示关系是的,方框中有文本,但这通常不是我写的图表的要点。