全栈工程师成长记

编程重新定义人生

由before action想到的

必须直奔主题承认自己还存在一些傲慢的学习方式,这些必须立刻改掉。
xdite老师列出的几个所谓的傲慢里面,我至少中了两条:

1.我是否最後一刻才做老師指定的作業。平常愛做不做。跳著做。老師給兩個禮拜時間寫,我只花兩小時寫。
2.我是否聽從老師指示,把我的 schedule 排空,專心學習。

第一条的主要表现是对第三遍练习需要的时间准备不足,我甚至以为自己“应该”有足够的时间完成到第五遍(除非现在全部用复制粘贴然后又不去思考,但这样不过是自欺欺人)。

第二条是之前做练习的时候中途被太多琐事给中断,然后又给自己“反正离25日还有好几天”的理由,一副不紧不慢的样子。

之所以会不紧不慢,现在回想起来就能找到原因了,就是没有意识到老师在前言里面说到“我設計的指南,每一步都有意思。這份作業,上課前,請重複做個三遍。”的重要意义,而现在在做第三遍练习的时候开始能逐渐体会了,如果做五遍那体会只会更深。

这些想法和说法缘何而来?

今天下午做第三遍练习的到CRUD的时候,我发现自己的几个def排序跟教程不太一样,于是到slack里面询问这些def是否要按照严格的顺序来排序,bboyceo助教的回答是排序不影响执行。而后我们展开说到代码的简洁问题,我就发现edit、show、create、update、destroy这几个def都有一行Group.find的代码,稍显冗余,我由此想到可以定义这一行代码,然后再在这几个def里面引用这个新的定义,但是又想到这一行代码其实也不算长,如果每个def要去引用一次,这样看起来似乎也不会太简洁。

直到跟着教程做到find_group_and_check_permission的时候,我才恍然大悟,自己前面的疑惑,其实这里就有解答了,如果每个def都要加入find_group_and_check_permission,当然跟我上面的担忧一样还是显得冗余,解决的办法就是放到before action里面!

做前面两次练习的时候,根本无法细究这些东西,只是教程怎么说就怎么做,即便是第二遍练习手动打代码进而把速度放慢下来也还是有太多不理解的。而到了第三遍,很多概念开始浮现眼前,真的像老师说的“然後你就會突然間「懂」很多東西了。解題越來越快,越來越知道自己在幹什麼。”。

记得第一遍练习的时候,看到一次错误页面就心里就要忐忑一次。现在为什么不用频繁问老师,因为大部分的问题都是拼写错误,或者漏打结束符号之类的,只要看这次都改动了哪些地方,很快就能发现错误。

所以编程呢开心很重要,用心更重要。用心去练习,用心去对待老师的要求,用心去对待自己的每一刻,还有比感受到自己的进步更开心的吗?