我可以在 VS2010 中以图形或类似的方式查看程序流程吗?如果不是 - 分析代码最有效的方法是什么?(理解它!)
2 回答
Visual Studio 一直有工具让您以树状显示查看哪些函数调用了哪些函数。我已经有 15 年没有使用过它了,我不会通过这个缓慢的连接下载 VS 2010 来了解鼠标点击等的细节,但请四处看看。但是,请记住,我没有使用该功能的原因主要是它的价值非常有限。
而且一般来说,用于理解代码的工具支持非常有限,因为理解是基于智能的,通常不能通过简单的规则或工具可以做的事情来捕捉。
如果可以,那么程序员就会失业!
理解代码的第一步是了解哪种抽象最重要。例如,如果你的重点是控制流,而代码主要是面向对象的,重点是状态,那么你可能很难理解它——因为控制显然是随意的。相应地,如果您的重点是状态,并且代码主要是程序性的,那么再次将很难理解。
我认为最好的工具是纸和笔。
绘制控制流图,绘制数据流,创建关联图,绘制类框,绘制对象层次结构,任何看起来相关的东西。
不要犹豫,把你用过的一张纸弄碎,捏成一个紧密的球,然后扔进废纸篓。:-)
它通常也有助于与他人谈论它(当你已经研究它足够有很好的见解和问题时),并尝试解释它。对于后者,您不一定需要其他人听您的。你可以坐下来试着写下你的想法,就好像在写一个教程一样。
祝你好运!
对于大型 C++ 项目,我总是使用http://www.scitools.com/的“理解 C++”。这个工具非常擅长跟踪代码,尽管不是在运行时。