5种类型的程序员
2015-08-22 20:58
423 查看
在我的代码旅程和编程冒险中,我遇到过很多奇怪的敌人,以及陌生的盟友。我发现至少有五种不同类型的代码战士,有的人能成为并肩合作的战友,而有些人似乎只能衬托我的每一个计划。
不过,他们在软件开发这个万神殿中也有着自己的地位。如果没有这些不同编程风格的合理搭配,那么你的项目要么需要很长时间才能完成,要么不够稳定或过于完美。
![](http://static.codeceo.com/images/2015/08/programmer-good-to-best.jpg)
这种家伙是公司的基础。当出现错误时,他能快速修复,并且从某种程度上说,不会再坏掉。当然,他不关心代码的外观和易用性,也不在乎其他任何琐碎的事情,他不会浪费时间在毫无意义的废话上面,喜欢直接就干好工作。要用这种人的话,最好的办法是指定一个问题,然后走开。
![](http://static.codeceo.com/images/2015/08/ducttape-150x150.png)
这家伙并不关心代码的最后期限,也不在乎项目预算,因为这些和编程中的艺术形式相比,对他们而言都是微不足道的。当你终于接收到成品的时候,你除了屈服于这令人惊叹的完美又漂亮的代码之外,别无选择,而正是如此精致,以致于你想在上面做什么都是对这一杰作的亵渎。对于他的代码,只有他自己才有资格去改动。
![](http://static.codeceo.com/images/2015/08/perfection-150x150.png)
他的世界只有一个简单真理:笨蛋才写代码。既然别人已经做过这工作了,那就应该使用他们的代码。他会理直气壮地表示这种开发实践速度有多快,哪怕实际上他需要和其他程序员相同或更长的时间。但是,当你拿到项目的时候,可能实际只有20行代码,非常容易阅读。他可能速度并不非常快,代码也不高效和向前兼容,但是他完成任务所需要的努力一定是最少的。
![](http://static.codeceo.com/images/2015/08/antiprogramming-150x150.png)
这家伙不关心质量,因为那是别人的工作。他会快速完成交给他的任务。你可能不喜欢他的工作,其他的程序员也讨厌这样的代码,但管理层和客户喜欢。虽然他现在的代码会导致将来太多的痛苦,但他是保证在最后期限内完成任务的黑马,所以你无法奚落和嘲笑他(不管内心有多么想这么做)。
![](http://static.codeceo.com/images/2015/08/halfassed-150x150.png)
比起应该做什么,这家伙对其他可取的选择更感兴趣。他会花80%的时间茫然若失地盯着电脑想办法来完成任务,15%的时间用来抱怨不合理的期限,4%的时间用来改善选项,然后只有1%的时间放到写代码上。最后你接收到的工作永远伴随着那句“如果我有更多的时间,那么我一定能找到更好的方法来完成任务”。
![](http://static.codeceo.com/images/2015/08/theoretical-150x150.png)
本文分享:http://www.codeceo.com/article/5-types-programmer.html
不过,他们在软件开发这个万神殿中也有着自己的地位。如果没有这些不同编程风格的合理搭配,那么你的项目要么需要很长时间才能完成,要么不够稳定或过于完美。
![](http://static.codeceo.com/images/2015/08/programmer-good-to-best.jpg)
擅于修修补补的程序员
这编码可能不漂亮,但它能工作啊!这种家伙是公司的基础。当出现错误时,他能快速修复,并且从某种程度上说,不会再坏掉。当然,他不关心代码的外观和易用性,也不在乎其他任何琐碎的事情,他不会浪费时间在毫无意义的废话上面,喜欢直接就干好工作。要用这种人的话,最好的办法是指定一个问题,然后走开。
![](http://static.codeceo.com/images/2015/08/ducttape-150x150.png)
具有完美主义强迫症的程序员
你想对我的代码做什么?这家伙并不关心代码的最后期限,也不在乎项目预算,因为这些和编程中的艺术形式相比,对他们而言都是微不足道的。当你终于接收到成品的时候,你除了屈服于这令人惊叹的完美又漂亮的代码之外,别无选择,而正是如此精致,以致于你想在上面做什么都是对这一杰作的亵渎。对于他的代码,只有他自己才有资格去改动。
![](http://static.codeceo.com/images/2015/08/perfection-150x150.png)
反对编程的程序员
我是一个程序员。但我不写代码。他的世界只有一个简单真理:笨蛋才写代码。既然别人已经做过这工作了,那就应该使用他们的代码。他会理直气壮地表示这种开发实践速度有多快,哪怕实际上他需要和其他程序员相同或更长的时间。但是,当你拿到项目的时候,可能实际只有20行代码,非常容易阅读。他可能速度并不非常快,代码也不高效和向前兼容,但是他完成任务所需要的努力一定是最少的。
![](http://static.codeceo.com/images/2015/08/antiprogramming-150x150.png)
草率的程序员
你想要什么?这不是起作用了吗?这家伙不关心质量,因为那是别人的工作。他会快速完成交给他的任务。你可能不喜欢他的工作,其他的程序员也讨厌这样的代码,但管理层和客户喜欢。虽然他现在的代码会导致将来太多的痛苦,但他是保证在最后期限内完成任务的黑马,所以你无法奚落和嘲笑他(不管内心有多么想这么做)。
![](http://static.codeceo.com/images/2015/08/halfassed-150x150.png)
理论型程序员
好吧,这是一个可能性,但在实践中,这或许是一个更好的选择。比起应该做什么,这家伙对其他可取的选择更感兴趣。他会花80%的时间茫然若失地盯着电脑想办法来完成任务,15%的时间用来抱怨不合理的期限,4%的时间用来改善选项,然后只有1%的时间放到写代码上。最后你接收到的工作永远伴随着那句“如果我有更多的时间,那么我一定能找到更好的方法来完成任务”。
![](http://static.codeceo.com/images/2015/08/theoretical-150x150.png)
你是哪一款?
就个人而言,我会将自己归类到完美主义者中。那么,你是哪一种类型的程序员呢?又或者你知道其他的程序员类型是我没有发现的?欢迎分享。本文分享:http://www.codeceo.com/article/5-types-programmer.html
相关文章推荐
- 黑马程序员--Java基础学习(多线程)第十一天
- 程序员笔试面试常见题总结,更新ing
- 笔试题&面试题:输入一个维度,逆时针打印出一个指定矩阵
- 面试是什么
- 剑指offer面试题14-调整数组顺序使奇数位于偶数前面
- 程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦
- 黑马程序员_常见API大总结
- 黑马程序员_多线程
- 黑马程序员_IO-其他流&编码表、Properties
- 黑马程序员_字节流、缓冲流
- 黑马程序员_递归、IO-字符流笔记
- 黑马程序员_异常、IO-File
- 黑马程序员_集合-Map
- 黑马程序员_集合-set实现类
- Web前端面试题
- 黑马程序员_集合-List实现类、泛型笔记
- 面试金典 字符串类1.基本字符串压缩
- 黑马程序员_Collection&List接口笔记
- 黑马程序员_集合总结
- 黑马程序员-----反射