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