Rails 技术能力遇到瓶颈期了,我想进一步增强我 Rails 能力,请各位 Rails 前辈指条道路给我吧

cqpx · 2011年11月10日 · 最后由 foyoto 回复于 2012年03月31日 · 4578 次阅读

学 Rails 四个月了,之前只有几个月 web 编程经验 (python),都是自己做着玩,一直没在参与过项目。 Ruby/Rails基本用法都掌握了,市面上常见的gem我也用过了,大家都用的gem我也几乎都会用了。大家都读的书和guide我也大概都读了。东拼西凑也能写个小网站出来了。

但是还是觉得自己能力不够,还是不能独当一面。 代码还是挺乱的,TDD 会写,但是写得很慢,有些问题不知道该如何有效的去测。 写出的代码很脆弱,一会儿这有错,一会儿那有错。最后焦头烂额抓狂。。

现在算个 Rails 学徒吧,不知道通往 Rails Master 之路该往哪走。。 我想写出简洁,稳定,清晰的代码。想做刚大,更复杂的系统,而不是一直写小玩具。 请各位 Rails 前辈指教

可以从基础学起,rails 基本上屏蔽了很多原理

开始做一个复杂的系统,并参照其他人的项目代码

那就参与项目吧,到 https://github.com/huacnlee/ruby-china/issues 认领功能点,确认之后 fork 一份,完成之后 Pull Requests

以上朋友们说的都对,结合我自己的感触来给你说说我对这个事情的看法:

  • 四个月的 Rails 经验,加上其他项目经验,我很想知道你从事软件或者编程行业/工作多长时间了?在具体哪个领域?不管你在什么领域,要成为 Rails 领域的佼佼者,都需要 5~7 年的辛勤耕耘,过来人都同意这个道理,一两年,两三年都是不够的,所以不要看 Rails 才出来没有几年,我看到这个领域的专家无一不是在其他领域完成了等量的积累,触类旁通的结果,所以心态放平,不急不燥,找个自己满意的工作环境踏踏实实干两年。这一点对我也一样,我也在努力完成自己的第一个五年积累的过程中。

  • IT 行业分支很多,新技术层出不穷,所以学习能力要强,这个体现在能够夸域,而不是专注在仅仅解决 Rails 层面能解决的问题,做开发做到后面,很多时候真的是为了解决特定的领域问题而要让自己去学习并成为那个领域的专家,或者至少是半专家,这也是需要时间积累的,不是通晓了 Rails 的教程和常用的 gem 就能解决的问题,所以争取,或者创造大量的跨界,夸域协作机会,让自己的技能发展平稳,广泛,这个也需要大量的时间积累。

  • 通过身边的同学,同事,朋友,社区论坛学习,通过社区,你能找到一群志同道合的朋友,跟自己能力水平差不多的朋友,那么就共同学习成长,如果遇到比自己能力强,经验丰富的朋友,那么从这些人身上你可以学到的东西就更多,不光是技术细节,眼界,思考问题的方式,方法,甚至工作习惯都能窥见一斑,而通过不断帮助比你后进的朋友则能容易积累社区声望,这些声望积累到一定程度会给你带来很多意想不到的结果,甚至影响你的职业生涯,所以社区的投入和积累也非常重要,这个也需要时间。

综上所述,归纳成一句话,就是:你急啥?

经验是从项目中出来的

多写,多参与,解决实际问题。

#4 楼 @lgn21st 亮点是最后一句

@cqpx 楼主需要的就是一个练习的场地。既然你是 rails 学徒,那就以 rails commiter 作为目标,它本身就是大项目。你也不必去架构,直接就去看 issue,一天一天练就是。 有些东西不是说你学了看了就会了。你需要证明给 rails 社区看。 如果你有贡献代码,即使你只有 2、3 年的 rails 经验也同样会得到大家的认可。 一句话,光说不练,假把式。

多寫小東西才是王道....可以從把玩中累積經驗。

[~/projects] $ ls -al | wc -l 153

現在我寫正式專案的東西,很多都是從以前玩具中抽出來萃煉出來的。

写小玩具才是最快乐的:-)

#4 楼 @lgn21st 同意,不能心浮气躁,罗马不是一天建成的

问个问题,ruby 语言所有的知识点都掌握了么?我观察到的情况是,ruby 程序员很多是 rails 程序员,对语言其实还没有吃透。 另外,重构是很好的学习方法,在没有工作压力的时候,这个可能是提高技术水平的捷径

提问 + 实际项目 = 提高能力

多写 多总结。多思考

#14 楼 @visionwang 你在挖坟啊

#4 楼 @lgn21st 受益匪浅啊

去研究下 rails 源代码吧

需要 登录 后方可回复, 如果你还没有账号请 注册新账号