我在代码之路上曾经遇到过很多奇怪的对手,也遇到过奇怪的队友。我至少接触了五种不同的"代码斗士"。其中一些有才的战友有助于开发工作的进行,而另一些看起来阻碍了我的每一个计划。

然而,他们全都在软件开发的"万神殿"中拥有一席之地。如果不能将这些不同风格的程序员协调好的话,你会发现你的项目会花费很多时间、不够稳定或者代码难以读懂等问题。

补漏灵型

该死,代码虽然不够完美,但是能工作就行了!

这种人是你公司的基础。当哪里出现差错的时候他会迅速的修补,在某种程度上,保证不会再出错。当然,他不会操心它如何工作,易用性如何等等琐碎的问题,但是他会去修补问题,而不是说一大推废话,做些浪费时间的事情。利用这种员工最好的方法就是:交给他们一个问题去解决,然后走开。

补好了!

完美主义强迫症型

你想对我的代码做什么!

这种程序员不关心你的deadline和预算,这些和代码的优雅相比都是微不足道的,当你最后收到完成的结果时,除了提交这些闪耀着荣誉的光辉的、完美的代码之外什么也不用做,这样效率极高,因为你做的所有的事情都只会破坏这些代码的完美,他们是唯一具有修改代码资格的人。

我不值得

反编程型

我是一个程序员,但是老子不写代码!

他们的世界中只有一个真理:写代码是糟糕的。如果你必须要写的话,那么你就已经走上了错误的道路。别人已经做过了这项工作,所以只要用他们的代码就好了。他会告诉你这项开发实际操作起来有多快,即使有时候他花了别的程序员相同的甚至更多的时间,但是你最后得到结果的时候会发现只有20行代码,并且简洁易读。这也许不够快,不够高效或者不能向前兼容,但却是最小工作量。

你到底在做什么!

半吊子型

你还想怎样?它已经能工作了不是吗?

这种人根本不在意代码的质量,他们认为这是别人的工作。他快速的完成被要求的任务。你可能不喜欢他这样工作,别的程序员也憎恨这种人,但是经历和客户喜欢他。他会给你将来的工作产生很大的痛苦。可他却总是能按时完成工作,你还没办法训斥他(不管你有多么想)。

这边已经做好啦!

理论型

好吧,这样是可行的,但事实上还有一个更好的选择。

比起应该做什么,这种家伙对选择更感兴趣。他会花80%的时间来盯着电脑思考实现一种任务的方法,15%的时间用在了抱怨不合理的deadline上,4%的时间在不同方案之间作出选择,只有1%的时间在写代码。当你收到最后的结果时往往还会得到这样一句抱怨——"如果我有时间,我肯定能做的更好。"

这就是0和1的不同之处了!

你是哪一种?

就个人而言,我认为自己是一个完美主义型。那么,你是哪一种呢?或者你觉得还有什么别的类型的程序员是这篇文章没有提到的?欢迎在下面留言,我会在文章中更新。

本文由赖信涛翻译自Steven Benner's Blog