五种类型的程序员

jopen 10年前

  英文原文:The 5 types of programmers

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

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

  补漏灵型

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

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

  完美主义强迫症型

你想对我的代码做什么!

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

  反编程型

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

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

  半吊子型

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

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

  理论型

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

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

  你是哪一种?

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