liuhui998's new blog

using octopress

Peter软件晨思-3

| Comments

工匠学习之路

Hi Benson

今天是写给你的第三封信。只要我早上坐班车,有时间我就会想办法写点东西。

我发现你最近进步还是挺快的; 对业务和代码的观察,对待工作也比较仔细。

我今天想讲的主题是,怎么去阅读别人的代码

作为一名画家,提高自己能力,最好的办法就是临摹。作为一名程序员,把提高自己能力最好的办法也是去读别人的代码。

作为一个Java程序员,也许可以读JDK的源代码, 如果Ruby程序员可以读Ruby标准库的代码;我以前读过 Git 0.01源代码

你可以根据自己感兴趣的方向选一些代码来读。那么有什么要注意的呢。

  • 第一,代码要是可以运行的。 因为代码不能运行,你很多想法就没有办法去验证。你发现有一段代码不懂,在关键的点设上断点调试或是加一行打印语句,去跟踪它,你就豁然开朗。

  • 第二, 是代码尽量不要太大,或者太复杂。 如果太大太复杂的代码,就很可能坚持不下来就半途而废了;或者也不是一个好的阅读范本。以我个人的经验是,一两万行以内,不能超过这个数目。比如现在Linux的内核,源代码比较大,很多人就去读linux早期版本的源代码。

  • 第三, 可以考虑把代码打印出来。 这样把它当做一本书来读,然后在脑袋里去构想,他是怎么样设计怎么样?把它放在枕头边,或者放在洗手间里,有空就翻一下。

code

Comments