最近写代码的时候发现,如果一个逻辑你觉得复杂了,有可能这个思路就已经错了,那么最好别钻牛角尖啃下去了,做到最后也得重来。因为肯定有更加简便的方案,且当比你高一级的程序员来哪怕给你稍微点一下,你就会觉得恍然大悟。
我觉得自己技能不够,所以去看了看 《ruby 元编程》这本书,自以为可以对自己的技能大有提升,也理解了些书中的内容。最近在项目中也有用到,但是代码 review 的时候被打回来了,原因是,「项目中尽量不使用元编程,不好维护」,其实也就是用了一个 public_send
的方法,我觉得一点也不复杂,并且还给 public_send
后面的参数设置了白名单,自认为安全又方便了。从这里可以看出,技能不是技巧,每个项目遵循的开发原则也不一样。大家公认的或许换一个公司,就不这么认为。
通过这个例子我也在想,我到底缺的是什么。有可能不是这些高级的技巧,而是实打实的项目经验,做的多了,才能熟能生巧。从学习 rails 到现在,一年多的时间,觉得自己还是没有达到熟练,熟练到拿到一个功能就快速且精准的做出来,每次 review 被打回的时候,都挺不开心的。目前的状态是还需要经历一些小坑,还需要问问高手,才能把一个任务解决掉。另外写的过程中还有去查专门的知识点,因为有的 gem 或者是 rails 的特性还不太了解。
往往通过一个专门的时间去自学一些特殊的技能,貌似不是很有针对性和效率,没有遇到问题时的学习永远没有那么急切。只有在具体的问题中,具体的去查找某个知识点时,才显得有足够的痛点和动力。所以,这个时候,如果不能很快理解,或者查找不到资源,才是让人最头疼的事情。当然更深一点,通过平时遇到的小知识点去挖掘后面系统性的知识树,就更好了。总结一下来看,或许我缺的就是快速找到问题的关键点和快速理解的能力,很多英文的文档读起来也稍微有点吃力。
继续吧。或许像以前听家里的长辈说过的一样。人生就要不断的熬,才能熬出来。
最喜欢看见分给自己的任务一个一个被干掉。
也最讨厌遇到一个难解的问题,急的我浑身发热!