离线下载
PDF版 ePub版

郑思愿 · 更新于 2017-12-11 13:00:54

源码日志

在大学实习的时候,用到了 Python 里头的一个小模块 ulrilb2,是一个简单的爬虫,这个模块出错的时候,会抛出各种异常,突然想知道为什么会抛出这些异常,而且 Python 自带的模块都是开源的,能拿到一手的源码,于是把它读完了。这也是第一次知道最简单的爬虫是怎么样的。

接着,实习项目中用到了 Python 的 Web 框架 Django,非常强大。Django book 看完后,就能写出一个简单的网页。Django 是典型的 MVC 框架(?),那时对 Web 的知识很少,是知道有 HTTP 协议这些东西,但 Django 里每个模块之间是如何协同工作的呢,MVC 又是怎么体现的?这些对当时的我来说都非常的感兴趣。当 Django 收到一个 HTTP 请求,到浏览器展示一个页面,Django 里头到底发生了什么。带着这些简单的问题,开始翻阅 Django 的源代码。之后的 Libevent, Memcache 和 Redis 都一样。

阅读代码是很好的锻炼耐心和毅力的机会。看别人代码的过程,即针对一个疑问,收集线索,有点连成线的过程,所以中间肯定有一段时间非常难熬与枯燥;而当读完所有的代码,所有的线索都连成一条线,就能体会柳暗花明了。

一些优秀的开源项目里有些很值得新手学习的地方,譬如框架,设计模式等。但并不是说阅读了大量的代码就能写出很牛的代码,写代码需要对当前需求的把握和清晰的逻辑思维,这是我们在实践中可以慢慢培养的。千万不要读得太多,而写得太少。