对于学习 Ruby/Rails 本身个人大概经历了以下几个阶段:
- 从头到尾看一遍《Agile Web Development with Rails》,并且把上面的例子跑通,这样对 Rails 会有一个大概的了解;
- 结合工作用 Rails 来实现一些比较简单的功能,这个阶段其实更多的是在学习 ruby,如果用惯了 Java 这种强类型语言,刚开始接触 ruby 会觉得很别扭。这个阶段碰到的问题基本上都可以从书中找到答案。
- 通过看书和向前辈请教以及自己做一些东西之后,应该能比较熟练地用 Rails 来做一些简单的东西了,接下来可以重点关注一下代码质量。看看以前的代码有没有可以改进的,例如重构重复的代码,用 block 块来 DIY 等。
- 重构代码的过程中,就可以深入思考一下 Rails 的各种 Magic,例如 has_many 这些方法是怎么实现的等。这个时候最好的教材就是 Rails 源码。
- 把 Rails 大卸八块搞清楚它的结构之后,就可以自己动手写一些 gem、做一些 hack 了。到此为止,Rails 在你手中就能发挥出最大的威力,知道什么时候需要什么样的代码,一个崭新的大牛即将诞生。
另外,其实 Ruby/Rails 只是完成工作的工具,只要用起来能够得心应手就可以,没必要把所有细节刨的清清楚楚。比工具本身更重要的,是知道怎样用这个工具优雅地、高效地实现各种业务需求。
原文地址:http://leweiup.com/questions/734