程序员应该具备的基本素质

作者:王炜
日期:2014年07月05日

具备严密的逻辑思维能力

计算机中最讲逻辑的,程序员逻辑不严密,计算机是不会自动帮你处理的,最后的结果就是不经意间跳出几个臭虫。不讲逻辑的程序员是最可怕的。比如,当系统需要处理证件号码信息,如果程序员在代码中直接当作身份证号码来处理,这就是不讲逻辑的表现。显然,除了身份证号码之外, 还有学生证、军官证、驾驶证,甚于包括组织机构代码证等。再例如,同一套系统有多个客户在使用,对于同一个功能,不同客户要求处理的方式存在出入,有的程序员直接在代码里面用if...else处理:

   if (district="guangzhou")

   {

       ...

   }

   else if (district=="foshan")

   ...

当程序员准备写出这样的代码的时候,难道就没有考虑过假如再多了几个客户,又当如何处理呢?这种代码的出现,要么是不负责任,要么是程序员不具备基本的逻辑思维能力,两种情况都很可怕。

 

沟通协作精神

程序员往往比较有个性,这本身并不是问题,并没一点个性程序员,往往很难在技术上修炼到顶尖水平。但现实中,许多程序员的个性,却严重影响了与团队的沟通协作,这就不应该了。软件行业个人英雄主义时代,已经渐渐远去,一个软件项目的成功,是团队共同努力的结果,团队成员之间良好的协作是项目成功的基础。

沟通协作方面应当注意以下问题:

(1)团队成员应服从项目经理安排,求同存异。

有个性的程序员,当发生分歧时,往往过份坚持自己的看法,争论到吵架的地步,这对团队协作是非常有害的。柳传志说:“成功需要妥协”,不会妥协的人往往会四处碰壁,特别是与上级发生分歧时,若仍不妥协,那就更不应该了。当程序员不能说服项目经理时,就应当服从项目经理的安排,这是基本的职业素养。

(2)对可疑的问题应及时沟通反馈

程序员在编码的过程中,对于存在的问题或风险,应及时与相关人员沟通,而不是擅自主张,按自己觉得理所当然的去做。有一位项目经理在抱怨时说,程序员没有按照设计去做,导致系统出现在很多问题。这当然一方面是项目经理失职,检查不到位,但对于程序员而言,显示也是由于没有主动沟通反馈所导致。

(3)尊重他人劳动成果

程序员往往害怕修改别人的代码,特别是注释少、文档资料不齐或情况,这个是可以理解的。但不能轻易否定前人的工作成果,动不动就要将前人的成果推倒重来,最后的结果往往仍然是问题丛生。

(4)正视“个性”

第一,有个性不等于孤癖; 第二,成功首先要心智成熟,个性不是借口。

(5)有意识锻炼自己的表达和写作能力

 

追求卓越的精神

不断追求卓越的人,才能真正走向卓越。应当说大部分程序员是有追求的,他们追求更高的工资、更高的职位,这没错,但这不等同于追求卓越。追求卓越,首先是工作将工作做到最好,在允许的范围内精益求精。

追求卓越最基本的要求,就是不能容忍你的代码中的BUG。有些程序员把代码编译通过了,自己也不完整运行一次,就自以为工作完成了,然后交给测试员去测试,这是不负责任的表现,不负责任的人是不可能走向卓越的。我很反对程序员或项目经理抱怨测试人员水平不行,项目的质量问题都赖在测试人员身上。 真正优秀的程序员,不会过分依赖于测试人员,没有专职测试人员,同样可以开发出高质量软件,因为程序员自己应当测试自己的代码。

追求卓越的程序员还应当经常重构自己的代码,使代码更高效、更易懂、更灵活、更易于维护。

 

学习精神并具有较强学习能力

软件行业新技术、新理念、新工具层出不穷,程序员应当热爱学习、善于学习,既然选择了软件行业,就应当“认命”,不断学习,成为技术专家、业务专家。

 

注重代码规范

代码规范是程序员走向成熟的表现。代码规范化对于分析代码、理解代码、代码重构、软件调试、系统维护等有着重要的作用。

欢迎转载,转载请保留链接: https://www.phpzu.com/article/2014/07/05/508.html

程序员应该具备的基本素质:等您坐沙发呢!

发表评论

*

code

0