

Ruby是一种编程语言,旨在被人类阅读(与Java之类的语言相比)。 它也被设计成一种面向对象的语言,几乎所有的东西都是对象。 这些特征使其成为学习和娱乐的绝佳第一语言。 但是,就模因而言,即使学习Ruby也不能做任何事情。 特别是当Ruby是您的第一门真正的编程语言时。 在本文中,我概述了成为一名自信的Rubyist所经历的过程。
了解足够的程序知识
我知道我知道。 在Ruby中,这实际上是禁止的,因为(几乎)所有事物都是对象。 大多数Ruby书籍比其他语言书籍更早介绍OOP,因为它被认为是Ruby的核心概念。 即使在理论上“学习”了面向对象的编程之后,我也编写了两个游戏(井字游戏和Mastermind),而没有创建单个类(gasp!)。 虽然这可能等同于异端,但新程序员必须从某个地方开始。 这是我的出发点,即使这些项目在技术上不符合我所关注的免费在线课程(《奥丁项目》)的要求,但我对创建自己的第一个工作程序仍然感觉很好。 最终, 对我而言,以这种方式完成它们并获得那种感觉比通过理解如何将这些组件分解成类并可能放弃而挣扎要好 。


学习足够的知识来创建面向对象的国际象棋游戏
在基本了解如何仅使用代码行(!)创建程序之后,我通读了有关数据结构和测试的部分,并完成了一些项目。 但是,下一个真正的挑战是以Ruby课程的最终项目的形式出现的:一个两人命令行式国际象棋游戏。 现在,我想国际象棋并没有那么复杂,但它肯定比井字游戏更具涉猎性,它具有不同类型的棋子,它们的移动方式也不同,而一个检查/检查配合系统需要进行一些真实的分析。 为此,我被迫真正学习如何编写面向对象的程序。 我想我花了一个星期在这个项目上,当我完成时,我真的感觉自己已经完成了一些事情。 我用我对Ruby的知识编写了一个面向对象,相当复杂的游戏。 不要低估这种满足感和完成感的重要性; 这就是让您继续前进,追求更大更好的事情的原因。
学习足够多,可以向其他人解释
在完成Ruby课程之后,我进入了The Odin Project的Rails课程。 当我几乎完成该课程后,我被邀请参加Microverse的“快速通道”计划。 该程序将我与远程伙伴配对,您可以在这里获得丰富的经验。 主要课程从Odin Project的Ruby课程开始。 起初我以为“这可能会浪费时间”,但是我对程序的其余部分及其所提供的功能感到很兴奋,因此我决定继续进行下去。 我发现这根本不是在浪费时间 。 我的合作伙伴主要具有JavaScript的背景,对Ruby的了解很少。 这意味着当我们阅读本课程的内容和作业时,我有机会向他解释了一些概念,这有助于加深我自己的理解。 向别人教东西是最好的学习方法之一。
学习足够的知识来创建一款精心设计的游戏
当我们要处理与几个月前相同的材料时,我们最终来到了Tic-Tac-Toe游戏。 这次,花了更多的时间研究,解释和使用Ruby,并有一个合作伙伴一起工作,我得以思考设计游戏的更好方法。 我们创建了类,将它们分解为单独的文件,并创建了一个更干净,更易读的程序,我为之感到骄傲。 我花了一段时间才来到这里,但是我觉得我终于对Ruby有所了解。 这是否意味着我对此一无所知? 绝对不是,但是我知道如何有效地使用它,这才是关键。


了解足够的知识来测试我的代码
老实说,我还没有完成有关测试的学习。 我们已经完成了课程的测试部分,但是对我来说, 确切地了解要测试的内容以及感觉仍然像是一门艺术而不是一门科学。 我认为这是我将一直努力改进的事情,这没关系。 作为开发人员,我们所能做的就是学习足够的知识以使我们完成当前的项目,并获得足够的知识来完成旅程的下一个阶段。
我希望我的故事对其他学习Ruby的开发人员或刚开始编程的其他人员有所帮助。 第一次不知道一切都可以。 足够学习就可以了。 最终,所有这些“ 足够 ”将加深对该主题的扎实理解或精通。