• 笨办法学Python(三十八)


    习题 38: 阅读代码

        现在去找一些 Python 代码阅读一下。你需要自己找代码,然后从中学习一些东西。你学到的东西已经足够让你看懂一些代码了,但你可能还无法理解这些代码的功能。这节课我要教给你的是:如何运用你学到的东西理解别人的代码。

        首先把你想要理解的代码打印到纸上。没错,你需要打印出来,因为和屏幕输出相比,你的眼睛和大脑更习惯于接受纸质打印的内容。一次最多打印几页就可以了。

        然后通读你打印出来的代码并做好标记,标记的内容包括以下几个方面:

    1. 函数以及函数的功能。
    2. 每个变量的初始赋值。
    3. 每个在程序的各个部分中多次出现的变量。它们以后可能会给你带来麻烦。
    4. 任何不包含 else 的 if 语句。它们是正确的吗?
    5. 任何可能没有结束点的 while 循环。
    6. 最后一条,代码中任何你看不懂的部分都记下来。

        接下来你需要通过注解的方式向自己解释代码的含义。解释各个函数的使用方法,各个变量的用途,以及任何其它方面的内容,只要能帮助你理解代码即可。

        最后,在代码中比较难的各个部分,逐行或者逐个函数跟踪变量值。你可以再打印一份出来,在空白处写出你要“追踪”的每个变量的值。

        一旦你基本理解了代码的功能,回到电脑面前,在屏幕上重读一次,看看能不能找到新的问题点。然后继续找新的代码,用上述的方法去阅读理解,直到你不再需要纸质打印为止。

    加分习题

    1. 研究一下什么是“流程图(flow chart)”,并学着画一下。
    2. 如果你在读代码的时候找出了错误,试着把它们改对,并把修改内容发给作者。
    3. 不使用纸质打印时,你可以使用注解符号 # 在程序中加入笔记。有时这些笔记会对后来的读代码的人有很大的帮助。
  • 相关阅读:
    Apache工作原理
    Mysql主从复制
    Apache 工作模式
    Codeforces 932E Team Work
    【TJOI2018】教科书般的亵渎
    Codeforces 960G Bandit Blues
    斯特林数&斯特林反演
    【BZOJ4916】神犇与蒟蒻
    【BZOJ3944】Sum
    【BZOJ4805】欧拉函数求和
  • 原文地址:https://www.cnblogs.com/yllinux/p/7616322.html
Copyright © 2020-2023  润新知