如何阅读源代码

这段时间源代码阅读得比较多,总结下自己得源代码阅读方式

获取代码

  • clone code
    git clone https://
  • 本地新开分支
    git checkout -b branch_for_read_code
    方便写注释,而且还能快速的总结自己的阅读经验

目录结构

了解目录结构,项目代码的目录结构是什么样的,最外层文件夹都是什么功能;
比如:

  • 常见的app文件夹一般是应用的控制器、模型(mvc中的m、v层)等;
  • index一般是入口

项目入口

  • 技术栈?
    什么语言
    什么数据库
    什么存储系统
    读写分离(主库读?从库读?)?
  • 如何启动,入口在哪,配置文件在哪?路由如何转发?
    一般看到启动脚本或者入口时,就能知道路由规则了,启动的前提是项目初始化完成,然后会加载一些资源到内存中。这时会设计路由,然后可以将这里的路由进行解读,后续阅读以此路由规则为蓝本就能轻松的理解了。

每个文件夹

  • 每个文件的代码的主要功能
  • 每个文件夹的作用
    文件夹的作用应该是你在阅读或者大致浏览完整个文件夹下的文件的内容后,脑子中记下的东西的总结,最重要的是区分不同。可能两个或者多个文件夹里都是配置文件,但是它们的不同点是什么,特别是有的配置的是mysql,有些配置redis、memcache,注意区分。
  • 理清思路,路由在文件间的转发和请求处理
    结合前面的,项目初始化时看到的路由,归并下,很少有项目里有多个路由规则,遇到不同的路由规则需要记录下来,因为它们之间交替进行时十有八九是有坑的。

摸索

在完成前面的工作后,如果你还能记住东西的话,从整体而言这个项目的设计和架构你已经清楚了。现在缺的是细节,说白了就是代码怎么写的,代码实现里有没有bug?!!
我想这个时候脑子最多出现的是吐槽“代码规范”。
所以:

  • 动手做一个
    不管是对原有的代码模块的一个重构还是优化,自己动手改改,一来解气,而来也是掌握代码细节;比如新增、删除、修改功能时就能明确具体的项目代码实现了,然后you get it。
    当然这个阶段是一个比较长时间的工作,慢慢来。
最后

有了前面的了解(除了摸索阶段)其实已经足够了,因为在大多数场景下是不用考虑代码具体是怎么实现的,代码是实现功能的工具!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值