程序员如何纠正自身的七大坏毛病

开发 前端
本文是从《Top 7 programmers bad habits》这篇文章翻译而来,译文来自外刊IT评论《程序员的七大坏毛病》。程序员在写程序时,往往自我观点性很强,文中给出了例举了程序员的七大坏毛病,并提出建议改之。

1.所有的程序都写的很烂,除了我的。

我要告诉你一个坏消息,兄弟,所有的程序都写的很烂,包括你的。无论你在上面花多少功夫,其他大多数程序员总是会认为你写的代码很烂、他们能写出比你好10倍的程序。我在前几篇文章里已经讨论过了这个问题,你可以读读这篇文章和这篇文章,从中你可以理解我所说的所有的程序都写的很烂究竟是什么意思。

如何纠正:不要挑剔别人的程序,有一天也许你的程序会被人放在聚光灯下挑剔。要保持客观和专业的评论,不要轻易判断。要谦虚,从周围人哪里学习经验,警戒自己不要写出这么糟的程序。

2.我几秒钟就能把它改好,不用走变更流程了。

 

[[31913]]

 

homer-simpson-doh

 

抄捷径充满诱惑,每个人都想抄捷径。有时候抄捷径是必要的,但总的来说,抄捷径是危险的,非常危险,应该避免这样做。走捷径也许会节省你数小时的时间,但如果走错了,它可能会给你带来数月的麻烦。

如何纠正:遇到需要慎重处理的事情时不要太过自信。让其他人来复查你的所作所为。如果你计划要走捷径,请确保让你的负责人知道这样做的理由以及其中的风险。每次在走捷径时***都让你的经理来确认实施成功,也就是“让他给你擦屁股”。

3.这是个几分钟就能搞定的事。

在我的家乡Barcelona,那里的圣家族大教堂让我非常的自豪,它的举世闻名来自于它的美丽,也来自于它的建筑完工日期的规划(它动工于1882年,目前仍未完工),但这可能是因为他们没有让一个程序员去估计这个完工时间,否则的话,估计出的完工所需的时间很可能2周。

如何纠正:从一开始,你就必须严肃的认识到,对于一个有一定规模的软件开发过程来说,进行精确的时间评估是不现实的,我们能做的只是猜测。同样要记住的非常相似一点是,我们通常会发现有很多事情根本不能预见到它们会花去我们数倍于我们初始估计的时间,我通常的做法是把估计的时间乘上1.5或2。

4.唯我独尊

 

[[31914]]

 

很多程序员参与的讨论会基本上看起来就像是一场斗鸡,而不像是人类的讨论,这通常会出现在关于设计和架构问题的讨论会上。你基本上很容易看出其中各自都怀有顺我者昌逆我者亡的心态,你基本上可以把大多数的争论者所说的话直接换成咕咕!咕咕嘎!咕咕咕咕咕咕!咕咕嘎!

如何纠正:把你的自负留在心底。太过自负是所有程序员身上的一个非技术性的***的一个毛病。凡事要三思而行。

5.这不是我的错!

在我看来,这另外一个大多数程序员都会有的坏毛病是缺乏责任心。我们总在找借口…就比如有人会说,如果在正常情况下,这个错误绝对不会出现,但说老实话,这很难让人信服。

如何纠正:犯了错误不需要去捶胸顿足,也不需要用刨腹自杀来谢罪。我们应该怀有一种健康的态度,说出这样的话:“呀,抱歉,我们现在就去改正这个错误,是我的错”,这是一种很敬业的态度,这能帮助我们树立一个好的声誉,更好的得到你的同事的尊重。

6.没有激情

重复的和简单的任务通常不会带来什么动力,但这些事必须要完成,当程序员被要求去完成这些事情时,通常会显得无精打采,没有效率。

如何纠正:纪律问题。很不幸,我再也想不出其它的治疗这种毛病的良方。

7.不成熟

我发现大多数程序员对“干完”这个词很纠结。请记住,干完意味着:测试过(不仅仅只是单元测试),文档完整,提交过,合并过…

如何纠正:这是一个很麻烦的问题,相对于完全的完成某些功能性问题而言,这些并不是显得很有必要的任务会很庞杂和难处理,通常需要你有纪律性和受过培训。也许,这最简单的能让一个程序员理解他的开发是否真正的完成的两个办法就是:相互复查和演示。

原文链接:http://www.aqee.net/2011/06/07/top-7-programmers-bad-habits/

【编辑推荐】

  1. 高效的面试程序员方式:结对编程
  2. IT界那些性感的让人尖叫的程序员
  3. 看老外程序员如何向妻子解释设计模式
  4. 看老外程序员如何向妻子解释OOD
  5. 同是80后程序员 为什么差距却如此大
责任编辑:陈贻新 来源: 外刊IT评论
相关推荐

2019-03-27 09:40:49

程序员技能开发者

2010-12-23 15:45:31

程序员编程

2011-06-09 13:26:27

编程程序员

2013-04-22 11:13:06

程序员编程误区

2014-11-07 16:57:21

程序员

2019-11-27 18:43:36

程序员编程语言软件

2023-10-12 08:47:50

线程池参数含义

2010-08-10 14:45:57

FlexBlazeDS

2013-07-09 15:04:17

程序员编程

2009-02-24 09:28:29

2009-08-26 10:06:40

七夕程序员

2015-07-27 09:26:41

程序员

2016-11-23 07:33:54

编程语言GitHub程序员

2009-08-31 16:28:35

程序开发语言

2011-01-06 10:43:07

网络管理员

2018-04-11 14:13:29

物联网信息技术互联网

2009-06-23 14:12:00

javaJSP绝招

2015-04-03 11:15:32

程序员如何写简历写简历技巧

2019-01-07 09:31:37

程序员测试人员代码

2009-12-01 14:35:06

Linux忠告
点赞
收藏

51CTO技术栈公众号