我是怎么读源代码的

原创
06/11 08:45
阅读数 40
很多有追求的工程师,不满足于对于工具的使用: MySQL, Memcache, Redis, Kafka, 越来越多的工程师:
(1)希望了解底层原理;
(2)希望针对性制定调优方案;
(3)希望加入开源社区,成为一名代码贡献者;
(4)或者,仅仅为了阅读优秀的源码...

大部分人,有源码阅读障碍
(1)源文件太多,不知道重点;
(2)源码量太大,无数次从开始到放弃;
(3)方法不对,遇到“技巧性”编码就蒙圈;
(4)不够体系化,不会将源文件归类阅读;

前段时间,有水友有留言说:
“能不能分享一些阅读底层源码的经验?”

这里简单的说几点。


第一,先读已有的文档。 正规的开源软件,一般都有详尽的文档,即使一个简短的tutorial,读个大概也十分重要。搜一搜关键词,说不定有朋友写过源码解析。
画外音:大概率中文源码解析的文章,不是最新的版本,但读总比不读好。

如果英文过关,建议读官网文档。
画外音:论英语的重要性。

第二,先硬读一遍再说。 不管理解了多少,整体先留一个印象。

第三,单步调试。 跟随软件启动,跟随核心请求的处理,能够一步一步调试,那是最好的, watch 各个变量的变化,单步看流程,看主流程与分支流程。

第四,做笔记。 最核心的流程,画简单流程图。

最后,第三步和第四步重复几遍。 边调试边做笔记,很快就能“恍然大悟”。

当然,得心应手的工具是必须要有的,但毕竟是工具,因人而异:在Linux下,我基本上是用vim+ctags;在Windows下,我用的是Source Insight。
画外音:我的小师傅用的是这两个工具。

其实,阅读源码并不难,重点是掌握科学的方法,用最高效的方式,读最核心的代码。 这是我读源码的经验,希望对大家有帮助。

福利来了!!!

奈学教育CEO玄姐,4天沉浸式 Kafka 精英训练营,手把手带大家读源码。


事件:Kafka 精英训练营,手把手源码解读

人物:奈学教育CEO玄姐,Kafka架构师李希沅

时间:6.11-6.14连续四天,20:00开始

价格免费


有没有分享大纲?

干货太多了,截取了一部分 Kafka 生产者消费者,服务端网络处理,线程分工的内容如下:


如何参加免费精英训练营?

扫码 参与,手把手带你解读Kafka底层架构,源码阅读

一个人读源码,是枯燥的。
一群人读源码,是幸福的。


调研,什么代码最难读懂?

(1)自己3年前写的代码;
(2)同事写的代码;
(3)开源软件的代码;

阅读原文 ,参与活动,连续4天,绝B有收获。

本文分享自微信公众号 - 架构师之路(road5858)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部