看完了 AWDWR 和 Rails Tutorial,最近打算找个源码来读读,于是开始看 19wu 的源码。
但是在看的时候发现一个问题,不知道从何入手,尤其是项目里用到了很多 Gem,每个 Gem 又有独特的用法,每次看的时候才进入状态,就又被新东西阻碍住了。
请教一下大家是如何阅读 Rails 代码的呢?
@Rei @jimrokliu @nightire @gaicitadie 想请教一下如果各位在读源码的时候,有没有什么自己觉得比较合适的前后顺序或者是实践呢
#14 楼 @blacktulip 你说的是这个? http://blog.xdite.net/posts/2012/11/24/how-to-read-sourcecode 可能是我的帖子说的不明确哇,我的意思是看用 Rails 写的开源项目的代码,不是 Rails 这个项目的代码。。。
如果能跑起来的项目,先跑起来,根据 url 定位到 route,到 controller,到 model 等,顺藤摸瓜。看看 Gemfile 用了哪些 gem,不熟悉的 gem 去 github 搜索下看下用法。 跑不起来的项目,就先尽量跑起来再说。
花擦!这么牛 研究源码 我嚼的 你研究完 Gemfile routes.rb database.yml migration model view controller assets 就可以开始做了
如果想看一个部分,就单看一个部分。让代码跑起来,服务器用到了那个 controller 之类的。感觉有点想 debug 的感觉。
如果想全面了解。 1,先让代码跑起来。知道这个怎么用之类的。比如,你要看注册,先自己注册一下。 2,了解主要的部分。database schemea,import classes。 Gem 有 railroady,可以显示数据库之间的关系,model 之间的关系。找到最重要的(简单来说,就是链接最多的。。),了解最重要的。这个时候,看看文档了之类的。如果有 feature,看下 feature。不太需要考虑细节。 3,然后具体看某个部分。
有的是建议写测试(characteriztion test ,简单来说,比如我觉得 1+1 = 3,我就写测试,1+1.should =3,错了再改,对了为止)。但这种感觉难度很大,因为我 rspec 用的不熟悉。。。
#26 楼 @blackanger 现在感觉把项目跑起来比较容易,我现在用rake routes
看到底有那些 routes。比如 19wu 的代码,看那些 gems,一个接一个的,感觉好累,是不是过了这个累的阶段就好了。。。。
#29 楼 @ChanceDoor 牛就不会在新手问题
里面提问啦~ 光看简单的还是能看的懂,估计自己写起来还是悬。像上面很多牛人说的,还是得从自己写的项目入手,一点儿一点儿整
#41 楼 @blackanger 嗯,开始我看了一部分 Ruby,了解了皮毛,然后就开始看 Rails 了,结果发现看 apidoc 都看不懂,后来返回来再仔细看看 Class Module 等的知识,才能大概知道怎么看 apidoc 了。。。