Architecture 找出软件逻辑的方法/工具?

Architecture 找出软件逻辑的方法/工具?,architecture,analyzer,Architecture,Analyzer,(如果您认为StackExchange或其他网站上的其他网站更适合提出此类问题,请为我指出正确的方向。) 在能够修改/添加现有应用程序之前,有经验的开发人员使用什么来了解现有应用程序的代码是如何工作的 有没有一种比手边拿着笔/纸一行一行地写下去,直到你明白为止更有效的方法?我觉得这很费时,很难把握全局,也很难不迷失细节 例如,是否有某个应用程序可以解析源代码并以某种方式绘制一个图表,在某种可缩放的故事板中显示逻辑 谢谢。您找不到一个可以解决所有语言和系统的工具。具体点 此外,请查看(搜索例如“了

(如果您认为StackExchange或其他网站上的其他网站更适合提出此类问题,请为我指出正确的方向。)

在能够修改/添加现有应用程序之前,有经验的开发人员使用什么来了解现有应用程序的代码是如何工作的

有没有一种比手边拿着笔/纸一行一行地写下去,直到你明白为止更有效的方法?我觉得这很费时,很难把握全局,也很难不迷失细节

例如,是否有某个应用程序可以解析源代码并以某种方式绘制一个图表,在某种可缩放的故事板中显示逻辑


谢谢。

您找不到一个可以解决所有语言和系统的工具。具体点

此外,请查看(搜索例如“了解遗留工具”)

还有比这更有效的方法吗 一行一行地通过 笔/纸很方便,直到你明白为止 出去

实际上,“铅笔和纸”是理解应用程序工作原理的最佳方式。任何工具都可能加快这一过程,但不会为你的问题提供任何通用的答案——你仍然需要分析图片,而分析要比仅仅绘制图片花费更多的时间

如果您对方法感兴趣,我将使用以下方法:

  • 找到应用程序的“顶级”点(用户请求进入的位置或类似位置)

  • 从代码中挖掘到您需要的级别

  • 要理解软件中某些过程的整体例程,几乎不需要逐行遍历整个代码,只需获取顶级元素并对其进行分解,直到分析中使用的黑盒足够小,足以理解您需要什么。不要试图分解你看到的任何“黑匣子”,除非你真的需要更小的细节。在开始添加和修改代码之前,很少需要这样做。我们的目标是知道从哪里开始修复错误或实现新功能,而不是记住任何组件中的每一行代码