我现在是怎么读源代码的

如果你有更好的方法请告诉我

1. 有文档先读文档。尽管多数库可能根本么文档,但一个简短的tutorial一般还是有的。读一读有个大概观念是很重要的。尽管网上,甚至是源码附带的文档可能已经不是最新了,但读一读总比不读好。注意:这些文档一般是英文的,有的是日文的

2.读之前的准备。先用ctags生成tags文件,这样在emacs里读代码时,可以M-.从调用这个函数的地方直接跳转到它定义的地方,M-*再跳回去,很方便。这个功能一般的ide也能实现。但注意对c这样成熟的静态语言,tags比较好用。但是对ruby这样动态语言就不太好了。因为tags本质上是一种静态方法。更好的动态方法是运行一个ruby解释器,通过它运行源码来找出定义的地方,这个我还在研究。

3.不管懂不懂,先读一遍再说。好歹先有个印象。

4.通过tutorial先写一个简单的例子。然后用调试器一步一步的调试这个例子。ruby的命令行调试器虽然不好看但是真心比VS的好用

5.重复3-4步,边读/调试边做笔记。直到觉得差不多为止。

关于类图这个事。我查了一下,有像cflow这样的软件,但是只能生成c的流程图。我觉得机器生成的流程图比较简陋,起不到多大作用。考虑到多数ide也不支持生成类图。VS也是旗舰版才支持类图。我觉得这玩意儿虽然好看,作用不大。

关于插件,语法高亮是必要的。所以ruby major mode得有,其次调试器必要。另外textmate.el必要。一个如Fastri这样的插件很有用,但我还没装,也可以自己切到浏览器去看文档,就是麻烦点。