如何阅读源码
来源:互联网 发布:idc网站php源码 编辑:程序博客网 时间:2024/06/06 00:43
记录阅读源码的一些建议:
1. 看了几天的源码,进度很慢,过于关注代码的实现细节了,反而很难看清楚整体结构。于是google寻找方法,大体上分析源代码都要经历三遍过程,第一遍是浏览,通过阅读源码的文档和注释,阅读接口,先弄清楚每个模块是干什么的而不关心它是怎么做的,画出架构草图;第二遍是精读,根据架构草图把系统分为小部分,每个部分从源码实现自底向上阅读,更深入细致的理解每个模块的实现方式以及与模块外部的接口方式等,弄明白模块是怎么做的,为什么这样做,有没有更好的方式,自己会如何实现等等问题;第三遍是总结回顾,完善架构图,把架构图中哪些模糊的或者空着的模块重新完善,把一些可复用的实现放入自己的代码库中。
-------摘自《Nginx源码分析》
2. 在你立足之处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下面永远是-地狱”
-------摘自《开源文化下的教学相长》 陈莉君教授
3. 在阅读linux源码的时候,要抓住一条线索,数据结构就是线索,函数不过是填充与改变数据结构中的值而已。 --------
summary:
所以说,阅读源码的时候,可以考虑先弄清楚架构,对于每个要分析的模块,先抽取出数据结构,然后整理出函数的关键过程,画出流程图。
有哪些源码可以阅读:
redis
Nginx
MySQL 感兴趣的部分
Linux 感兴趣的部分
- 如何阅读Linux源码
- 如何阅读Linux源码
- 如何阅读Linux源码
- 如何阅读Linux源码
- 如何阅读源码
- 如何阅读uboot源码
- 如何阅读Linux源码
- 如何阅读源码
- 如何阅读Linux源码
- 如何高效阅读源码
- 如何阅读源码
- 如何阅读mysql源码
- 如何阅读源码
- 如何阅读android源码
- 如何阅读Java源码
- 如何阅读JAVA源码
- 如何阅读Java源码
- 如何阅读 Redis 源码?
- (一)蓝牙低功耗(BLE)基础教程--基于nRF5x系列SOC
- Shell中批量备份目录的一个小技巧
- 面向对象的三大特征:继承,封装,多态
- HDU 2489 Minimal Ratio Tree(dfs+最小生成树-Prim)
- ajax实例
- 如何阅读源码
- python中logger日志模块的使用
- UVA10870 Recurrences —— 矩阵快速幂
- 使用Python和R语言从头开始理解和编写神经网络
- JS实现li标签的删除
- 集成Mob 3.0免费获取手机验证码
- 爬虫之旅(三)
- java.lang.Exception: No runnable methods
- matlab之load导入mat的struct问题