工匠学习之路
Hi Benson
今天是写给你的第三封信。只要我早上坐班车,有时间我就会想办法写点东西。
我发现你最近进步还是挺快的; 对业务和代码的观察,对待工作也比较仔细。
我今天想讲的主题是,怎么去阅读别人的代码
作为一名画家,提高自己能力,最好的办法就是临摹。作为一名程序员,把提高自己能力最好的办法也是去读别人的代码。
作为一个Java程序员,也许可以读JDK的源代码, 如果Ruby程序员可以读Ruby标准库的代码;我以前读过 Git 0.01源代码。
你可以根据自己感兴趣的方向选一些代码来读。那么有什么要注意的呢。
-
第一,代码要是可以运行的。 因为代码不能运行,你很多想法就没有办法去验证。你发现有一段代码不懂,在关键的点设上断点调试或是加一行打印语句,去跟踪它,你就豁然开朗。
-
第二, 是代码尽量不要太大,或者太复杂。 如果太大太复杂的代码,就很可能坚持不下来就半途而废了;或者也不是一个好的阅读范本。以我个人的经验是,一两万行以内,不能超过这个数目。比如现在Linux的内核,源代码比较大,很多人就去读linux早期版本的源代码。
-
第三, 可以考虑把代码打印出来。 这样把它当做一本书来读,然后在脑袋里去构想,他是怎么样设计怎么样?把它放在枕头边,或者放在洗手间里,有空就翻一下。
