代码阅读方式

代码阅读

为什么要写这样一篇博文那?当我们在日常学习和开发中,总是要阅读各种各样的源代码,一些代码量较少的好说,通过我们的简单阅读便可以了解其逻辑架构,但是一些代码量大,类似与LinuxKernel这类的源码,我们又该从何开始那?

目前比较高效阅读源码的方式一般分为两种:

  • 自上而下:(top-down):从main函数向下深入,直到最底层的代码,好处在于可以遍历完整的顶层功能路径,进而了解各个功能的整体流程;
  • 自下而上:(bottom-up):与自上而下相反,先搞懂每个组件的代码和实现机制,然后向上延展,并将其组装,有助于你掌握底层的基础组件代码;

我刚刚来到一家新公司,面对体量巨大且没有详细设计文档的代码,我是如何开始一步一步熟悉的呢?

1. 在最开始,我一般不会去学习某个模块,而是会先去了解整体的架构,首先我们先去查看有没有相关的设计文档,如果有更好,没有的话,我们可以求助老员工帮忙,其次我们从代码的目录结构入手,了解各个目录是用来干什么的?然后我们要去了解层级关系,各个层级是什么,他们的边界线在哪里?以Linux为例,分为硬件层--内核层--应用层等等。

2. 简单了解了代码的整体后,我们要去了解数据走向,各个层级之间如何交互?通信的方式等等?

3. 了解了各个层级之间如何交互,我们就要去看具体的模块了,各个模块之间的交互方式,他们的业务逻辑是什么?

4. 了解了模块的业务逻辑,我们就可以开始去深入某一个模块去进行开发。

这就是我的阅读代码的方式,可能总结有点乱,希望大家可以指正,有好的方式也希望大家分享出来。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值