首页 > 拿的一份陌生代码, 怎样的顺序读容易理解?

拿的一份陌生代码, 怎样的顺序读容易理解?

泛泛说吧,,

或者比如 https://github.com/joyent/node/blob/master/lib/readline.js


a、如果有文档话,肯定是看着文档容易理解
b、首先要人为的分块,毕竟作者也不是一下就把代码写出来的。
拿你的链接的例子说:

  1. 首先是状态变量定义(或者你所认为的一些其他东西),也就是所谓 var *(在所有大括号外定义的)
  2. 其次function Interface(的定义,也就是Interface的析构函数+调用实现
  3. 剩下就是Interface.prototype.*实现的各种方法,快速技巧就是通过判断每个名字的大概意思,内部实现不用深究,等到具体逻辑跟踪的时候分析
  4. 在向下的话就是类似如此的结构
function emitKeypressEvents(stream) {
    // something
}
exports.emitKeypressEvents = emitKeypressEvents;
//基本上可以看出是用来扩展exprots,细节同样不关注,靠名字猜意思
  1. 经过上面的分析以后,基本就剩下几个函数的定义,通过名字猜猜意思,然后你就可以直接跟踪分析,这需要具体结合你要做什么才能具体分析。

先git checkout到最早版,然后跟着版本读


个人觉得带着问题去读最好,比如你要解决某个问题,然后通过不断看代码基本上就能看点门道出来


1。部分开源代码都会附有文档,可以顺着文档看下去。
2.去看函数的定义和调用这一部分
3.整体的一个框架流程
4.梳理逻辑

补充:如果条件允许,你可以拿到他的一些数据。我建议你可以根据他早期版本的一些bug开始看。

【热门文章】
【热门文章】