手动分析程序

Analysing programs by hand

不确定这是不是问这个问题的最佳地点,但这里是。

为了考试,我必须手动分析一小段代码,以确定输出结果(如果有的话)。这是一个例子:

def f2(x, y):
    if not x > y:
        return "Red"
    else:
        return "Blue"

def Test(x):
    if x < 0:
        p = f2(2, 4)
    else:
        p = f2(4, 2)

    print(x**2, p)

Test(5)

此代码段的输出是 25 Blue,我通过跟踪变量的进展正确断言了这一点。所以我可以遵循程序的逻辑。但是,是否有一种简单的方法(可能是通过图表或流程图的方式)通常用于评估代码的输出或在纸上执行 'dry run'?或者人们只是 'follow the variables'?

Code trace:

A code trace is a method for hand simulating the execution of your code in order to manually verify that it works correctly before you compile it. It is also known as a "code trace" or "desk check."

如何编码跟踪

  1. 画一个table,变量名横跨在上面,程序行在旁边,分配一列输出

  2. 按照您的预期完成计划

  3. 当变量被赋值或变量的值被操作或改变时,根据变量名和执行行记录该值在适当的位置。 (这样可以使代码跟踪清晰有序,便于复查)

  4. 继续跟踪程序直到程​​序终止为计算机