遇到读不懂的代码应该怎么办?

编程算法同步学 专栏收录该内容
56 篇文章 2 订阅 ¥69.90 ¥99.00

上一章讲了,阅读代码是学习算法过程中非常重要的一环。本章我们就来讲讲阅读代码的方法,并一起来读一个源码的例子。

如何阅读代码

读一个函数/代码块

其实,前面我们对于如何阅读理解一个程序中的函数或是代码块,已经说了不少。可以用“人肉计算机”法——自己拟定一个测试数据,人肉运行一遍;还可以用打印法辅助——程序中加入打印语句,打印变量的中间结果。

这个方法对于所有程序都是通用的。不过如果程序稍大,涉及到的函数不止一个,且函数之间有了嵌套调用的关系,那么只靠模拟运行,就有点困难了。

基于代码结构理解代码功能

阅读代码,需要先构造出代码的结构,然后基于结构理解其功能。

具体的做法分三步:

  1. 从程序入口点开始,推导出其中函数的层层调用过程;

  2. 从最小粒度的函数(我们姑且认为函数体中调用其他自定义函数越少的函数粒度越小)开始,搞清楚每一个函数具体的功能和时空复杂度;

  3. 层层递进,逐步推导出全局的完整过程和整体时空复杂度。

边看边学编程语言

在阅读的过程中,可能会看到一些自己完全不明就里的程序语句:也许是之前没见过的关键字;也可能是该句中调用了某个之前不知道的 Python 内置函数或者从其他支持库 import 进来的函数;也可能是某种表达方式之前没有见过……遇到这些情况怎么办呢?

当然,如果你习惯于买一本 Python 的入门书籍(比如下面这本),然后一点点阅读每一个章节,并且把读过的内容都记下来。那么相信,应该没有什么 Python 的语言问题能够难倒你。

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

叶锦鲤

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值