程序员之美

好的程序员和差程序员的区别在于理解能力,差劲的程序员不理解自己在做的事情,优秀的程序员相反。其实每一个行业都一样,都需要去投入精力。优秀的程序员能够总结归纳之前学习过用过的技术,并能在将来在之前总结的基础上去向更深的层次专研。好的程序员和差的程序员在刚开始接触技术的时候,能力上没什么太大差别,但是日积月累,他们之间的差距就会越来越大。这就是为什么会发现有30多岁的程序员,他们虽然也很努力,但是在跟他们交流的时候就是会发现他们思路很乱,10多年的工作经验都白扯,没有把自己这些年用到的东西消化,因为他们一直不理解自己在做什么。

优秀的程序员,在完成工作的同时还考虑非常多其他的事情。比如,完成的功能开发的优化。好的程序员总是想把自己的代码变得更简洁,通过不断的重构优化自己的代码。他们会不厌其烦的做各种假设和尝试,表现出他们本不该有的耐心。不仅提高了代码的可读性,运行的性能,而且让自己对系统的设计和架构都有更深入的理解。

优秀的程序员,大都会想办法提高自己的工作效率。编辑器选择上大部分是VIM或者是Emacs,俩个神级编辑器其中之一。他们不会这样认为:用什么编辑器?都行;能编写代码?还可以;好用吗?无所谓;效率方面呢?没想过。以VIM为例,他们一定会对系统默认的VIM做优化,安装各种可以提高开发效率的插件,高亮、注释、mark、方便查找等等,会做很多很多。用我之前公司的老大的一句话:“不要怕折腾!”,“折腾”俩个字道出了要想成为优秀程序员的真谛,不要怕麻烦,不要怕出错,不要怕走弯路。无穷无尽的“折腾“会让你学会很多东西。而且试着试着,路就走直了。到了那一天,你会发现即使有一天你的上司叫给你一个你之前不曾了解的技术问题,你也不会心里发怵。这就是”折腾“出来的自信。

优秀的程序员还注重规范,这里的“规范”不仅仅是指代码的规范,有更加宽泛的意义。还包括写文档、写测试用例等等。而且对于一次小小的代码提交commit,就能看出程序员的优劣。优秀的程序员,不仅可以写出这次提交所修改的内容,而且还能写出来我为什么要进行这次修改。而且还要想:我这次修改需不需要提交?或者这次修改要不要分多次提交?以后好方便找到我想要的那个版本。优秀的程序员总是不吝啬使用自己的大脑,每个问题都要好好想想,琢磨琢磨。

优秀的程序员有时也很懒,不喜欢阅读。怎么办呢?克服吧。唉,能多看就多看点吧,比看泡沫剧和苍老师要有收获。

可能更重要的,你要热爱这个行业。