曾几何时,在初学完编程之后,好长一段时间停留在初级程序员阶段,不知道怎么再提高。那时候想着如果有人分享个某个语言的学习路径的话就太好了。
现在,我给大家分享一些我经过各种弯路以后,自己觉得合适的学习路径,包括一些学习资源。
推荐教程:Ruby 基础教程
Launchschool 的这本在线教程也不错,适合有一定编程基础的。 Introduction to Programming with Ruby
在你开始写代码之前,一定记得先看看Ruby 代码风格
这些,不单单是代码风格,更多的时候是教我们怎么写出 Ruby 风味的代码。
Ruby 元编程的学习,有利于帮助我们更深刻的理解 Ruby,理解 Ruby 中的继承,方法查找等高级特性,写出更加符合 Ruby 风格的代码。
学习完 Ruby 基础,一定会对面向对象编程有一定了解,但这不意味着你就能写出面向对象编程的代码。
可以翻墙的,可以去 youtub 上看作者在 RubyConf 上分享的几个视频
SOLID Object-Oriented Design by Sandi Metz
RailsConf 2016 - Get a Whiff of This by Sandi Metz
这时候,你可能可以写一些不错的代码,实现一些不错的想法,不过你肯定会和我当初一样,总觉得哪里有什么问题?
你可能会怀疑是不是自己的代码足够优雅,是不是自己的代码充满了臭味道(smell code)...
这时候可以看看《重构(Ruby)》
接下来是时候学习设计模式了。
面对大型的 APP,你会发现尽量你尽量遵守 OOD 的 SOLID 设计原则,但是,每个类的代码依然庞大,维护起来依然相当困难。
很多时候,你觉得肯定有更好的组织方式。所以,学习一点设计模式,可以大大的提高你的代码质量。
不过,设计模式确实不好理解,能应用的话更难。
下面是一些学习资料: [设计模式](https://book.douban.com/subject/1052241/)
当然,这本书并不好理解,还有一本Ruby 设计模式
如果有钱的话可以看看code tutsplus的视频课程,容易理解很多
想了解 Ruby 实现的内部机理吗?想了解 Ruby 的内存回收策略吗?等等。如果想更深入理解 Ruby,非此书莫属:Ruby 原理剖析
到此为止,我觉得你已经不需要大家帮忙来学习一门编程语言了。