大家好,欢迎来到 Crossin的编程教室 ! 了解代码的执行过程是编程的基本要求。 一个熟练的编程老手只需要用肉眼看着代码,就能对其运行的过程有所了解。然而对于刚接触编程不久的新手来说,这种事情就没那么显而易见了。于是在编写代码和调试代码时,一旦程序的逻辑有些复杂,就像掉进代码的迷宫,完全不知道东南西北。 所以,每当有人对自己的代码没有给出预想结果而百思不得其解,无奈寻求帮助时,我都会建议在程序中增加输出,一方面是根据不同输出的先后顺序来判断程序的运行路径,另一方面则是观察各变量在运行过程中的实际数值,确认是在哪里发生了错误。(参考前文:新手上路,如何debug调试程序?) 还有种方法就是使用 IDE 提供的调试功能,通过添加断点和单步运行,了解程序的运行状态。Visual Studio、Eclipse、xCode 等常见的 IDE 几乎都提供了调试工具。对于 Python,也可以使用 pdb 库来实现断点调试。 上述两种途径应该是大部分程序员 debug 时候的基本套路。但同样的,对于新手来说,即使这样的工具,用起来仍然有些费力。 有时我会选择在纸上画出一些流程和图形来向人解释程序,虽然效果会好些,但显然不是一种可以广泛推广的方式。后来意外发现有一款工具满足了此类需求,非常适合新手,可以让你直观地“看”出程序是怎么运行的。对于初学编程,难以理解程序运行过程的苦手来说,绝对可称之为“神器”。 这就是 Online Python Tutor。一款免费的在线代码运行及演示工具。 项目地址:pythontutor.com 关于此项目的介绍(摘自网络):
再来体验一下其使用过程: 在编辑器里输入代码,点击 “Visualize Execution” 即可运行并演示。
我用了段包含循环、列表、函数、模块的代码片段。看看效果如何: 左边是代码,箭头表示当前运行到的位置。 通过下面的按钮和进度条可以直接控制程序的进行。 右上是输出。 右下就是程序的可视化模拟。在这个例子里,可以清楚地看到过程中变量的变化,何时调用了函数等信息。 借助 Python Tutor,除了可以让编程新手更容易理解程序的运行过程,还能可视化地展示算法执行,如排序、链表插入等。大家可以把比较难以理解的算法代码贴进去,直观地观察,更好地理解。 |
|