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

时间:2010-07-22 09:56:26

标签: architecture analyzer

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

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

有没有比通过笔/纸更方便地进行更有效的方式直到你搞清楚了?我觉得这很费时,很难保持全局,也不会迷失细节。

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

谢谢。

2 个答案:

答案 0 :(得分:2)

  

是否有比这更有成效的方式   逐行进行   笔/纸方便,直到你想到它   出?

实际上,“铅笔和纸”是理解应用程序如何工作的最佳方式。任何工具都可以加快这个过程,但是不会给你任何通用的答案 - 你仍然需要分析图片,分析比绘制图片要花费更多的时间。

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

  1. 找到“顶级”应用程序点(用户请求进入或类似);

  2. 将代码深入到您需要的级别。

  3. 逐行完成整个代码几乎不需要了解软件中某些过程的整体例程,只需采用顶级元素并将其分解,直到分析中使用的黑盒子足够小以了解您的需求。永远不要试图分解你看到的任何“黑匣子”,直到你真的需要更小的细节。在您开始添加和修改代码之前,这确实很少需要。目标是知道在哪里找到开始修复错误或实现新功能的点,而不是记住任何组件中的每一行代码。

答案 1 :(得分:0)

您找不到一种可以解决所有语言和系统的工具。请明确点。

另外,请查看at earlier questions(搜索“工具了解遗产”)。