Google 与网络的帮助可以让你写出一行又一行的代码。不过,若你只是复制贴上,事后并没有尝试了解背后的运作机制,充其量代表了「工作完成」。
那有什么办法可以让自己进步呢?也许你可以从少写一点代码开始。并不是要你不工作,而是想办法精简自己的代码。在某些方面,coding 跟写作有些类似,并不是多就是好,正如马克吐温说的:
我没有时间写一封简短的信,所以我写了一封长的。
简短的文字与代码相同,都需要耗费更多的脑力才能完成,并可以成功的运作。
简单、经验与理解让你写得越来越少
在澳洲的工程师 Elliot Chance 分享了他自己的看法,他认为要分辨两个工程师的好坏,就是给他们一样的时间,越好的工程师写出来的代码越少(当然是要可以运作)。
除此之外,正如先前所说的,越长的代码并不代表越认真,有时候反而是因为懒惰,懒得思考,你才会写出这么长的代码。
而好的工程师因为从问题下手,对问题理解的非常透彻,能够写出简洁易懂、容易维护的代码;而懒于思考,或者是较差的工程师,也许在键盘上敲下来一串又一串的代码,却难以理解,并为后来的维护人员埋下了许多可怕的地雷。
而要如何进步呢?则可以从三个方面下手:
第一是多思考,不要以又臭又长的代码滥竽充数;
第二则是经验,经验越多,你越知道该怎么下手;
最后,则是理解,透过对问题与所使用的语言、框架越加理解,越能写的简单易懂。
简而言之,用一句话来说:多练习写简短的代码。
把时间花在审视与思考
在这边要举另外一个例子,是 Martin Thompson 在 QCon London 2016 大会的演讲。他提到任何创造性的尝试都可以从不断地审视和完善中受益。
阅读已经写好的邮件、论文、blog 或报告等等,然后觉得某些部分可以做得更好呢?这是一件很自然的事情。当回头审视这些东西,每次都可以获得新的认知。
我喜欢将代码当作表现「当前」看法的地方。我们都会犯一些回过头来看时可以纠正的错误,除了纠正这些错误外,我们还可以记录我们更深入的理解。
定期阅读所有的代码,而且不只是你自己的代码。阅读他人的代码是一种很棒的学习方式。正如作家 Stephen King 所说,「阅读其他人的作品是让你成为一个更好的作家的最好方式」这同样适用于代码。
结语
这时候就要拿万用的标语来做结尾:KISS,Keep it simple and stupid。代码真的非常深奥,不管任何语言都有它神秘之处。
不过简短的代码不一定好,则是下一阶段要考虑的事情了。建议大家,想要好好进步的话,不如从今天开始,多思考,少写一点代码吧!
文章转载自 开源中国社区[http://www.oschina.net]