博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序员的5种类型
阅读量:4953 次
发布时间:2019-06-12

本文共 3411 字,大约阅读时间需要 11 分钟。

In my code journeys and programming adventures I’ve encountered many strange foes, and even stranger allies. I’ve identified at least five different kinds of code warriors, some make for wonderful comrades in arms, while others seem to foil my every plan.

However they all have their place in the pantheon of software development. Without a healthy mix of these different programming styles you’ll probably find your projects either take too long to complete, are not stable enough or are too perfect for humans to look upon.

 

The duct tape programmer

Duct TapeThe code may not be pretty, but damnit, it works!

This guy is the foundation of your company. When something goes wrong he will fix it fast and in a way that won’t break again. Of course he doesn’t care about how it looks, ease of use, or any of those other trivial concerns, but he will make it happen, without a bunch of talk or time-wasting nonsense. The best way to use this person is to point at a problem and walk away.

The OCD perfectionist programmer

PerfectionYou want to do what to my code?

This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. When you do finally receive the finished product you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.

The anti-programming programmer

Anti-ProgrammingI’m a programmer, damnit. I don’t write code.

His world has one simple truth; writing code is bad. If you have to write something then you’re doing it wrong. Someone else has already done the work so just use their code. He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project it will only be 20 lines of actual code and will be very easy to read. It may not be very fast, efficient, or forward-compatible, but it will be done with the least effort required.

The half-assed programmer

Half-assedWhat do you want? It works doesn’t it?

The guy who couldn’t care less about quality, that’s someone elses job. He accomplishes the tasks that he’s asked to do, quickly. You may not like his work, the other programmers hate it, but management and the clients love it. As much pain as he will cause you in the future, he is single-handedly keeping your deadlines so you can’t scoff at it (no matter how much you want to).

The theoretical programmer

TheoreticalWell, that’s a possibility, but in practice this might be a better alternative.

This guy is more interested the options than what should be done. He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work it will always be accompanied by the phrase “if I had more time I could have done this the right way”.

Where do you fit?

Personally, I’d have to classify myself as the perfectionist. So, which type of programmer are you? Or perhaps you know another programming archetype that is missing from my list? Post a comment below and I’ll add it to a new updated list.

来自:

转载于:https://www.cnblogs.com/corson/archive/2012/01/18/2325478.html

你可能感兴趣的文章
面向对象抽象封装
查看>>
XCode的一些调试技巧
查看>>
python错误和异常学习笔记
查看>>
DLL中调用约定和名称修饰(三)
查看>>
你猜这个题输出啥?-- java基础概念
查看>>
DbGridEh中改变行的颜色
查看>>
Java_学生信息管理系统——数组版——尝试将main函数单独放了一个类,并加了文件...
查看>>
【原创】大叔问题定位分享(21)spark执行insert overwrite非常慢,比hive还要慢
查看>>
使用uiautomator做UI测试
查看>>
动态创建报表笔记
查看>>
java.util.concurrentmodificationexception 当在循环中 给List 添加对象或者 remove 对象是时候...
查看>>
Jenkins 获取 Git tag check out issue
查看>>
第一阶段一次评价
查看>>
HTML 中有用的字符实体
查看>>
JavaScript 将当地时间转换成其它时区
查看>>
TensorFlow入门教程集合
查看>>
DPDK L3fwd 源码阅读
查看>>
远程连接DB2
查看>>
Day8 Servlet
查看>>
Unicode与 utf8的互相转换
查看>>