是否有具体的工具或方法来可视化程序/项目的结构



我正在编写一些初学者编程教程,发现很难跟踪所涉及的许多模块和函数、它们的目的(抽象地)以及它们的相互关系。我希望从鸟瞰图中看到一切,以便更好地设想如何更优雅地重新组织和重构代码。

是否有专业人员用来管理这种复杂性的专用工具(白板和记号笔除外)?程序员是否仅仅依赖于心理模型?专业人士会使用像Lucidchart这样的流程图软件来做这种事情吗?

结构图自70年代中期以来就一直存在。如果只执行叶级别-1,则数据流图对于结构化(非OO)也很有用。如果执行非OO,请查看Yourdon方法。还可以将Essential Systems Analysis作为事件划分的基础。有各种CASE工具仍在使用中。

如果你在做OO,UML可以很好地工作,并且已经存在很多年了。如果一个人不去"图表快乐",那么UML可以很好地工作。

存在用于数据关系的ERD。

图形建模工具的普及率从未超过18%。我认为部分原因是缺乏对开发人员的适当培训,缺乏对管理人员使用模型管理项目的适当培训以及CASE工具供应商的承诺过高/交付不足。我开始在大学结构图中使用图形工具。我总是惊讶于"专业开发人员"如何在并没有相互关系和依赖关系的可视化模型的情况下编写大型程序。他们是如何记住这一切的?当他们加入这个项目时,他们是如何让新人跟上进度的?

我们这些问你问题的人似乎是少数。我不认为这是一个"工具的东西"。我认为有些开发人员想要"更高层次的抽象"和可视化,有些则不然。

总有UML,尽管我不是一个超级粉丝。

你也没有标注你所说的语言。

对于.Net,Visual Studio实际上可以从这样的关系图中自动生成代码。

你也可以在Quora上查看这篇类似的帖子。

最新更新