67. 专业的程序员

来源:互联网 发布:淘宝技术模式分析 编辑:程序博客网 时间:2024/05/03 19:12

专业的程序员

        如何才能一位专业的程序员?
        专业程序员唯一的最重要的特质就是个人的责任感。专业的程序员对他们的职业、评估、计划、错误和技艺负责;专业的程序员不会把责任推给其他人。
       如果你很专业,就会对你的职业负责。你会负责地阅读和学习,负责地与行业和技术同步更新。太多的程序员感觉是他们雇主的工作训练了他们。遗憾的是,这是大错特错。你觉得医生也是这样做的吗?你觉得律师也是这样做的吗?不,他们在自己的时间、花自己的钱训练自己。他们的业余时间大多用来阅读期刊和判决。他们一直保持自己更新。我们也必须这样。你和雇主的关系在合同里面清楚地说明了,简短地说就是:他们承诺给你报酬,你承诺做好工作。
        专业程序对他们所写的代码负责。他们在知道代码可以工作之前不会发布。想一下,如果你愿意发布自己不太确认的代码的话,怎么能认为自己是专业的呢?专业的程序员不会期望QA发现什么,因为在自己彻底测试之前不会发布他们的代码。当然QA会发现一些问题,因为没有人是完美的,但是专业的态度是不要留任何问题给QA去发现。
        专业程序员是团队合作者。他们对整个团队的产出负责,不只是他们自己的工作。他们互相帮助,互相指导,互相学习,甚至在必要时互相照顾。当一个队员倒下时,其他的跟进,因为知道某一天自己也会成为需要照顾的。
       专业程序员不会容忍巨大的bug列表。一个巨大的bug列表是很难看的。问题跟踪数据库中有着上千个的问题的系统是马虎大意造成的悲剧。确实,在大多数系统中,对问题跟踪系统的需求正是马虎大意的症状。只有非常大的系统才应该有bug列表,结果需要自动化的管理。
        专业程序员不会造成一团糟。他们为自己的技艺感到自豪。他们保持代码的整洁、良好的结构并且容易阅读。他们遵循标准的和最好的初中。他们从不、绝不冲动。想象一下,你有一个灵魂出窍的观看医生在你身上做心脏手术的机会,这个医生有一个死亡期限(字面意思)。他必须在心肺呼吸器对你的血细胞造成太多损坏之前完成手术。你想要他怎么做呢?你会想让他像很多典型的软件开发人员,奔跑前进并弄成一团糟?你会想让他说:“我稍后回来修正这里?”还是,你希望他仔细遵守他的规则,把握时间,把他的方法是最佳做法保持信心。你想要的是一团糟,还是专业性?
        专业就是负责。他们对自己的职业负责。他们负责地确保自己的代码正确工作。他们对自己技能的质量负责。在最后期限逼近时,他们也不会放弃自己的准则。实际上,压力增加时,专业程序员们对自己的准则会更加坚持,因为他们知道自己是正确的。

原文:The Professional Programmer byUncle Bob

原创粉丝点击