每个程序员都是从菜鸟过来的,而菜鸟的成长之路总是崎岖的。不断地碰壁、不断地摸索、不断地成长,从中难免衍生出各种各样的“病态”,而这其实都是我们切实作为一个程序员的证明。
密集空间恐惧症
这应是程序员的通病了。不知道是谁的谎言:“程序员每天的工作就是看着一堆01代码”,这想着都会令人疯掉吧。每个程序员最怕看到的,就是那些一堆堆没换行没缩进的代码,更何况是一堆01代码。
如果一个程序员说他没有密集空间恐惧症,那他一定就是这堆代码的创始人之一了。我不理解为什么总有一些程序员要乐此不疲地代替编译器把代码中的空字符删去,编码规范出现的初衷,很可能就是为了对付这些程序员的——即使我忘记了我曾经或许也是他们中的一员。
强迫症
一些程序员在开发一个新项目的时候,会考虑太多情况,例如这种代码在以后的运行是否稳定、维护是否方便等。尤其是有一点项目经验但又不足、而且是完美主义者的程序员,在写代码的过程中会不断地考虑设计文档没有的东西,然后就很忘我地在项目代码上画蛇添足。
往往强迫自己写一个完美的程序的人,其现实就是:由于客观因素影响(如项目工时不足),导致最后提交的代码中出现太多没有被实现的抽象方法,结果反而是自己给自己挖了一堆无法填补的坑。
神经质
基本上每个正常的程序员都有点神经质的。一个显著的特点就是:我们对自己的代码充满信心、但看到别人的代码都会疑神疑鬼,习惯性地认为那有BUG,然后千方百计地将其找出来。如果有能力把BUG修复,还会因此感到非常有成就感,尽管那个BUG是无关痛痒的。
程序界有一个“潜规则”:每个程序中 80% 的 BUG 都是别人发现的。这跟程序员的神经质应是脱不了干系了。
妄想症
大部分程序员最初接触到一些已经投入使用、但看上去写得很差的项目代码时,就会开始妄想自己的能力,认为自己可以用最好的技术去重写它。由于是一时冲动,欠缺考虑因素太多(如背景、支撑环境等),往往都是失败告终。
其唯一的好处可能就是在重写的过程中,可能确实学到了一些未能投入使用的新技术,仅此而已。