以前有篇文章提到过阅读源码的动机(记得是侯捷),写一下自己记得的:
1. 工作需要。比如需要修改开源软件的某个地方然后马上用,这种动机最强,但是用完之后就很快遗忘了
2. 兴趣。比如长期使用开源软件,某一天突然想看一下里面的构造,于是深入进去。因为很熟悉软件,所以能有所收获。比如jQuery的代码。
3. 纯粹的兴趣。就是想看一下代码。。这样就需要选择了。首先要会使用软件本身,否则会被大量代码淹没。比如一个连JS都不太会的人,直接上手看jQuery就是找 死了。找项目很重要,不是什么代码都值得看的。
4. 做笔记。一个是代码的大概构造(除了js这种打包的之外,优秀开源项目目录都很清晰)。另一个是关键算法和代码的逻辑、数据流。
PS:优秀的代码也不用全看,看自己感兴趣的一部分。对编译原理不熟的看Lua底层会吃力,但是上层API部分就可以看~