我是怎么读源代码的
很多有追求的工程师,不满足于对于工具的使用: MySQL, Memcache, Redis, Kafka, 越来越多的工程师:这里简单的说几点。
,先读已有的文档。正规的开源软件,一般都有详尽的文档,即使一个简短的tutorial,读个大概也十分重要。搜一搜关键词,说不定有朋友写过源码解析。画外音:大概率中文源码解析的文章,不是新的版本,但读总比不读好。第二,先硬读一遍再说。不管理解了多少,整体先留一个印象。
第三,单步调试。跟随软件启动,跟随核心请求的处理,能够一步一步调试,那是好的, watch 各个变量的变化,单步看流程,看主流程与分支流程。后,第三步和第四步重复几遍。边调试边做笔记,很快就能“恍然大悟”。当然,得心应手的工具是必须要有的,但毕竟是工具,因人而异:在Linux下,我基本上是用vim+ctags;在Windows下,我用的是Source Insight。其实,阅读源码并不难,重点是掌握科学的方法,用高效的方式,读核心的代码。这是我读源码的经验,希望对大家有帮助。调研,什么代码难读懂?