分享 学习编程没有捷径,需要的是热情与毅力 [抛砖引玉,小秀成果][5/20 小小更新一个图]

fredwu · May 19, 2014 · Last by luax replied at July 08, 2014 · 14700 hits
Topic has been selected as the excellent topic by the admin.

一份努力一份收获。

我是个从 2010 年开始才慢慢接触 Ruby 和 Rails 的菜鸟。最佳的学习和提升方式就是不断的看别人写的代码,不断的自己磨练代码,多听多看多问多用搜索。

从 2010 年至今我参与和发布了不少的 rubygems ——

从大约 2010 年左右开始我陆陆续续的参与或发布了大大小小的不少的开源项目——

也为 Rails 做了小小的一丝贡献(排行 152 位):

2010 年前的我是个自我感觉良好的 PHP 代码工。直到加入了一个优秀的团队(Envato),才发现一山比一山高,当时对软件工程的理解实在是小孩玩家家酒的层级。

曾经不懂 Law of Demeter 是什么,也未曾耳闻过 SOLID Principle。作为一个没有正式学习过软件工程的菜鸟(我本科念的是多媒体专业),作为一个在高中时期无比崇拜程序员,但对编写程序一无所知的菜鸟,慢慢的磨,慢慢的努力,总是会有收获的。

2014 年,我在带领开发团队为公司创造价值——同时也在不间断的提升自我,无论是技术,还是 leadership 能力,还是处理政治和纠纷。三年后,五年后,十年后呢?日子很长,能学习的东西很多。日子过得也很快,错过一天就少一天能提升的空间。

快速的写下这点文字,勉励新入行的同学们。也同时勉励自己 —— 去年下半年是我职业生涯的低谷期——入行多年来首次 burnout,但我还是熬过来了,仍然站在相同的岗位上,担当相同的责任,希望创造出更多的价值。

兵来将挡水来土掩,你是会选择花时间寻找捷径呢,还是花时间提升自我?

再更新一个图:我们团队正在开发的这个项目可以说是所有 rails 程序中相对比较复杂的,已经开发了一年多了,走了不少弯路(非技术方面的弯路),但我和团队的成员们对代码的要求都非常高——

 ❯❯❯ rake stats
+----------------------+-------+-------+---------+---------+-----+-------+
| Name                 | Lines |   LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Decorators           |   503 |   409 |      15 |      77 |   5 |     3 |
| Finance              |   719 |   601 |      27 |     109 |   4 |     3 |
| Presenters           |  1470 |  1316 |      60 |      81 |   1 |    14 |
| Queries              |    32 |    27 |       1 |       5 |   5 |     3 |
| Services             |  2225 |  1732 |      59 |     239 |   4 |     5 |
| Uploaders            |    54 |    12 |       1 |       3 |   3 |     2 |
| Validators           |   530 |   469 |      25 |      59 |   2 |     5 |
| Controllers          |  1273 |  1013 |      46 |     148 |   3 |     4 |
| Helpers              |   176 |   144 |       0 |      31 |   0 |     2 |
| Models               |  4387 |  2168 |      82 |     211 |   2 |     8 |
| Mailers              |    11 |    10 |       1 |       1 |   1 |     8 |
| Javascripts          |   800 |   605 |       2 |     184 |  92 |     1 |
| Libraries            |  1063 |   897 |      37 |     103 |   2 |     6 |
| Controller specs     |   956 |   785 |       0 |       0 |   0 |     0 |
| Decorator specs      |   537 |   421 |       0 |       0 |   0 |     0 |
| Finance specs        |   702 |   549 |       0 |       0 |   0 |     0 |
| Helper specs         |    23 |    19 |       0 |       0 |   0 |     0 |
| Lib specs            |    85 |    69 |       0 |       0 |   0 |     0 |
| Model specs          |  2337 |  1196 |       4 |       1 |   0 |  1194 |
| Presenter specs      |   579 |   435 |       1 |       0 |   0 |     0 |
| Routing specs        |    13 |    11 |       0 |       0 |   0 |     0 |
| Service specs        |  2452 |  1877 |       4 |      12 |   3 |   154 |
| Validator specs      |   796 |   602 |       0 |       2 |   0 |   299 |
| Acceptance specs     |  1932 |  1802 |       0 |       0 |   0 |     0 |
| Javascript specs     |   684 |   473 |       0 |     185 |   0 |     0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total                | 24339 | 17642 |     365 |    1451 |   3 |    10 |
+----------------------+-------+-------+---------+---------+-----+-------+
  Code LOC: 9403     Test LOC: 8239     Code to Test Ratio: 1:0.9

@fredwu 好久没有见你冒泡了 欢迎回来

这个必须顶啊,很帅,值得拥有

膜拜啊!

顶,个人感觉只要一直觉得自己是菜鸟,才是在进步。

刚刚看过你的博客,又在这儿看到你的帖子,我说怎么贴的图片那么眼熟

好好学习,天天向上。

我也是在 Fred 和另一个好基友的影响下在 2010 年才开始学习 Rails 的,这里得多谢 Fred 曾给过我的指点 :D

fred 一直给我青年才俊的印象,2012 年有幸拿到你的签名和你合影,现在业余项目一直使用 slim, thanks.

谢谢 @fredwu 的精彩分享! :plus1:

厉害!受教了!

好久不见,幽默帅气的 @fredwu

學習!

Slim 大爱,我一直觉得应该替代 Haml。

👍 期待楼主能分享更多一些这个过程中事情,哈,有可能的话做一期 teahour @lgn21st

#18 提议好,希望听到 teahour 的分享。 @hz_qiuyuanxin @lgn21st

Slim 是你开发的?用了好几年了,膜拜一下

#18 楼 @hz_qiuyuanxin #19 楼 @springwq

显然你们两个都不是 Teahour 的忠实听众呀 http://teahour.fm/2013/04/22/interview-with-fred-wu-about-opensource.html

你们是想让我再录制一期吗?

赞。。。

时间是最大的敌人。。。

膜拜...

25 Floor has deleted

:plus1:

好棒呀!值得大家学习,不过你说的那些东西我也从来没听过,你说的学习编程有点太笼统了,期待更多学习 rails 的细节方法的东西,去年开始接触 php,我大专读的会计,今年 4 月份才开始接触 rails,这是一个伟大的开源软件

扯,明明只要多问诸如"你们是如何一步步成为学会编程的?"这样的问题就能学会了的

我觉得还有 兴趣与方法。

兴趣应该是和热情相似的。

毅力会产生经验,经验会总结成方法。

#28 楼 @bhuztez 我一直误以为需要不断胡乱的吐槽才会成为大师...难怪自己一直菜的掉渣

#21 楼 @lgn21st 看到标题,发现听过了 😂,今晚再去听一次!

彪悍啊

Unknow user #35 May 20, 2014

2010 年接触 rails 现在还是个菜鸟 为嘛我还在写 objective-c c++ 呢。。。。

苍蓝大大

彪悍的人生不需要解释!

#18 楼 @hz_qiuyuanxin #19 楼 @springwq #21 楼 @lgn21st

唯一可惜的就是聊得最顺畅的那一段是正式录音前... 😅

#38 楼 @fredwu 哈哈,后来我吃一堑长一智,在跟嘉宾前期讨论的时候,就严格要求对方先心里明白访谈大纲和内容,但是千万不要先说出来...... 😄

40 Floor has deleted

#21 楼 @lgn21st 惭愧!忘了这期了。不过可以再录一期谈谈如何学习编程嘛!😄

#41 楼 @springwq 好的呀,就是不知道 @fredwu 要不要再来 Teahour 做客,分享一期如何学习编程呢?

很漂亮的成绩单,赞!

果然根本用不到拼天赋

@fredwu 想请教一下,向 rails 提交代码,一般是怎么样起步的?怎么样把握自己所做的不会和其他人冲突,怎么样分工协调?

大神请收膝盖……orz

额,说的对,现在已经会了多种语言的 Hello World!

膜拜……

一直喜欢你的 slim,支持

膜拜……

牛人啊 :plus1:

#42 楼 @lgn21st 能来分享是荣幸啊。就怕我胡说八道误人子弟啊 😝

共勉之

终于见到 slim 的作者,很赞的经验分享。

@qichunren @Juanito @fredwu 强大的正能量呀,刚做了个人第一个 Rails PR 😄 https://github.com/rails/rails/pull/15191

@fredwu @Juanito 有个问题想请教一下,当在一个 PR 里做多个 commit 时,core member 在接受时会自动合并吗?我是自己手动合并后做的 force push @Juanito CodeTriage 的链接有小问题

#58 楼 @camel 如果零散的 commits 太多的话,他们会要求你 squash 的。

P.S. 你的 PR 被 merge 了,恭喜啊!

#59 楼 @fredwu Thanks,原来就是用git rebase 来做 squash,这货竟然被我忘记了。 再接再励,发掘下一个 PR

@camel@fredwu 所述,恭喜呀! 👏 👏 👏 CodeTriage 是 Richard Schneeman 的作品,可以跟他說關於鏈接的問題。 這裡有一個 rebase 的例子:https://github.com/rails/rails/pull/14685 在 rails/rails 很常見到,大部分 core team 成員都會很有耐性的教你 :D

太牛逼了 励志篇

63 Floor has deleted

兄弟现在还在墨尔本吗? 想有机会出来和你聊聊,尽管我现在不做 ruby 的东西,呵呵。

顶礼膜拜!找到方向了! 实话说,最近半年一直处于低潮期,想尽快适应,尽快扛过这个阶段!

看到了你的这篇帖子,才发现自己的方式好像跑偏、也想着为 Ruby 贡献自己的一点点小能量、但是却没有那么好的功底去完成一个 GEM 的开发,只能学习使用别人提供的 gem。

好好学习,天天向上。

70 Floor has deleted

见到大‘牛’了。

期待更多的作品

You need to Sign in before reply, if you don't have an account, please Sign up first.