我已经成为了一个相当熟练的Rails开发者,但是我发现我的瓶颈现在是我对更复杂的Ruby结构缺乏理解。我正在尝试构建一些插件,并查看一些复杂的插件,它们的面向对象编程技巧对我来说就像希腊语一样难懂。(我从未接受过太多正式的面向对象编程培训,这是问题的一部分。)
我想更好地理解:
- 从一个地方发送方法到另一个地方(包括,扩展等...)
- 元编程和覆盖方法(super)
- 类继承,模块等
严肃的Ruby文献似乎太多了。有没有实用的方法来学习这些东西,可以在不深入了解语言内部工作的情况下扩展我的能力?
我已经成为了一个相当熟练的Rails开发者,但是我发现我的瓶颈现在是我对更复杂的Ruby结构缺乏理解。我正在尝试构建一些插件,并查看一些复杂的插件,它们的面向对象编程技巧对我来说就像希腊语一样难懂。(我从未接受过太多正式的面向对象编程培训,这是问题的一部分。)
我想更好地理解:
严肃的Ruby文献似乎太多了。有没有实用的方法来学习这些东西,可以在不深入了解语言内部工作的情况下扩展我的能力?
这里是链接。
开始编程的最佳方式是了解类层次结构在内部如何工作,以便知道调用什么。换句话说,您需要了解元类。
以下是两个资源,它们对我理解这个概念帮助最大:why's explenation 和 another one
您还可以尝试这些ruby plus 屏幕录像。有很多关于您似乎感兴趣的其他主题的内容。
你也可以尝试学习另一种语言的基础知识(例如Java或C#)。
我认为学习一门新语言是熟悉不同解决问题方法(在你的情况下,面向对象编程概念)的一种非常有效和有趣的方式。
一旦你学会了如何编写代码,学习一门新语言的基础知识就变得相对容易且极具娱乐性,因此你通常会在开始时取得极快的进步。
当你试图理解对你来说是新的概念时,可能更容易在一个也是新的框架中理解它们。这样你就可以专注于你试图学习的概念,而不是关注你的语言以不同的方式解决这个问题等等……