程序员要追求完美

追求完美

程序员最常犯的错误并不在他的程序错误列表中。它与程序员的年龄或选择的程序语言没有任何关系。这个最常犯的错误就是误以为自己具有了所有的能力而且根本 没有提高的余地了。

这可以说成是人的天性;但我认为人的天性是对知识与提高的不断追求。可是,傲慢自大和害怕犯错使我们止步不前。抵制这两种坏习性不仅可以使我们成为更好的程序员,还可以使我们成为更好的人。

我相信,相互沟通以及人员素质是创建成功的软件开发团队的关键,这比任何其它因素都重要。不断提高程序员的技能和接受批评的能力对一个软件开发团队的成员来说是基本的要求。这些要求优于所有其它的要求。

回想一下您上一次改变风格的情况。您是运用了学到的新算法,还是新的注释风格,或仅仅是以另一种方法命名变量?不管是什么,对于完成代码并使它完美这个目标而言,它只不过是前进路途上的一步而不是结束。

不应该要求程序员一字一句地遵守精确的编码指南;而程序员也不应该为了完成任务而仓促应付这些指南。想象一个管弦乐队 ― 既不能是一些死气沉沉、毫无激情的演奏者,也不能是一些草率地即兴发挥的演奏家(尽管后者更容易受到欢呼)。一个死气沉沉的演奏者仅仅照着乐谱而没有把精力和感情投入到音乐中;演奏家则必须约束自己,不能在演奏时随意尝试新的旋律片段或按自己的节拍演奏。

 

 

演奏和谐的音调

编码指南更象一个音乐家遵守的书面格式的乐谱 ― 何时演奏、何时停止、演奏得多快、什么节拍等等。而音调本身,打个不恰当的比方,就是项目的目标 ― 有时是独立的高音,有时则是乐器的和声。

在管弦乐队中,指挥负责指挥但并非告诉每个乐手应该如何演奏,每个人都是整个演奏的一部分。指挥负责协调。因为音乐在编程技术出现以前已经存在了好几个世纪,所以或许有值得借鉴的经验。软件项目经理既不是“暴徒”也不是“越狱的罪犯”。她和其他的人一样是团队的一个成员。

不必盲目地把本系列文章所介绍的指南摘录出来作为正式的编码原则。您项目的编码标准就是您自己的,它们真实反映了您自己的“管弦乐”的乐谱。不要强求程序员们做得完全正确,这样只会造成一种不信任和畏惧的气氛。对于极小的错误,您不必在代码重审或追究责任上斤斤计较。

取而代之的是,介绍这些指南并且观察大家的反应。如果没人采用您喜欢的注释格式,那它可能就是一种不好的格式。如果您觉得大家编写程序时显得不太聪明,那么可能是您编写指南时太过聪明。如果您认为人人都应该使用的调试器呆在布满灰尘的房间里还没被拆开,那么请重新考虑对 Whizzo Debugger 3.4 的需求。或许每个人都因为某种原因更喜欢使用 Acme Debugger 1.0。

当然,程序员有时会毫无原由地很固执,其实只是不愿变革。很难使人们相信 20 年的经验并不能给他们组织有序的思想。另一方面,刚参加工作的大学毕业生经常会显得缺乏自信。承认并适应这些特征,以及团队中所有其它的特征。把想法介绍给较顽固的经验丰富的成员时,要使他们觉得自己是在帮着做这件事。通过指导和支持使大学毕业生树立起信心,直到他们能独立发挥作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值