英文原文: The 5 types of programmers
在我的代码旅程和编程冒险中,我遇到过很多奇怪的敌人,以及陌生的盟友。我发现至少有五种不同类型的代码战士,有的人能成为并肩合作的战友,而有些人似乎只能衬托我的每一个计划。
不过,他们在软件开发这个万神殿中也有着自己的地位。如果没有这些不同编程风格的合理搭配,那么你的项目要么需要很长时间才能完成,要么不够稳定或过于完美。
这编码可能不漂亮,但它能工作啊!
这种家伙是公司的基础。当出现错误时,他能快速修复,并且从某种程度上说,不会再坏掉。当然,他不关心代码的外观和易用性,也不在乎其他任何琐碎的事情,他不会浪费时间在毫无意义的废话上面,喜欢直接就干好工作。要用这种人的话,最好的办法是指定一个问题,然后走开。
你想对我的代码做什么?
这家伙并不关心代码的最后期限,也不在乎项目预算,因为这些和编程中的艺术形式相比,对他们而言都是微不足道的。当你终于接收到成品的时候,你除了屈服于这令人惊叹的完美又漂亮的代码之外,别无选择,而正是如此精致,以致于你想在上面做什么都是对这一杰作的亵渎。对于他的代码,只有他自己才有资格去改动。
我是一个程序员。但我不写代码。
他的世界只有一个简单真理:笨蛋才写代码。既然别人已经做过这工作了,那就应该使用他们的代码。他会理直气壮地表示这种开发实践速度有多快,哪怕实际上他需要和其他程序员相同或更长的时间。但是,当你拿到项目的时候,可能实际只有 20 行代码,非常容易阅读。他可能速度并不非常快,代码也不高效和向前兼容,但是他完成任务所需要的努力一定是最少的。
你想要什么?这不是起作用了吗?
这家伙不关心质量,因为那是别人的工作。他会快速完成交给他的任务。你可能不喜欢他的工作,其他的程序员也讨厌这样的代码,但管理层和客户喜欢。虽然他现在的代码会导致将来太多的痛苦,但他是保证在最后期限内完成任务的黑马,所以你无法奚落和嘲笑他(不管内心有多么想这么做)。
好吧,这是一个可能性,但在实践中,这或许是一个更好的选择。
比起应该做什么,这家伙对其他可取的选择更感兴趣。他会花 80% 的时间茫然若失地盯着电脑想办法来完成任务,15% 的时间用来抱怨不合理的期限,4% 的时间用来改善选项,然后只有1% 的时间放到写代码上。最后你接收到的工作永远伴随着那句“如果我有更多的时间,那么我一定能找到更好的方法来完成任务”。
就个人而言,我会将自己归类到完美主义者中。那么,你是哪一种类型的程序员呢?又或者你知道其他的程序员类型是我没有发现的?欢迎分享。
-
译文链接: http://www.codeceo.com/article/5-types-programmer.html
翻译作者: 码农网 – 小峰