至今工作已经快四年的时间了,在这段时间中自己参与了很多项目,其中部分重量级项目,然而经常发现自己还是犯一些错误,比如配置文件中的英文字段写错,update写成updata,加密算法做成可逆的问题。对于update(更新)写成updata的问题,看上去没有什么,表面看来配置文件而已,只要程序里面识别updata就可以了,然而没有考虑到用户如果看到这个之后,会对产品信息下降,产生英文都写错软件不够专业的想法。
慢慢地认为合格的程序员,最基本的要求不是专业,而是考虑问题的角度。专业知识可以不停的补充学习,考虑问题的角度如果尽可能的不全面产生的问题要比功能欠佳的问题更大,功能欠佳后期可以完善,而如果刚开始问题考虑的不够全面,后面要想不久就有可能需要将全部构建打乱,重新设计,带来的损失更大。
我看过一篇小记,很搞笑,然而却是我们最需要的:
某日,老师在课堂上想考考学生们的智商,就问一个男孩: “树上有十只鸟,开枪打死一只,还剩几只?”
男孩反问:“是无声手枪,还是其他没有声音的枪么?”
“不是.”
“枪声有多大?”
“80~100分贝.”
“那就是说会震的耳朵疼?”
“是.”
“在这个城市里打鸟犯不犯法?”
‘不犯.”
“您确定那只鸟真的被打死啦?”
“确定.”老师已经不耐烦了,”拜托,你告诉我还剩几只就行了,OK?”
“OK.鸟里有没有聋子?”
“没有.”
“有没有鸟智力有问题,呆傻到听到枪响不知道飞的?”
“没有,智商都在200以上!”
“有没有关在笼子里的?”
“没有.”
“边上还有没有其他的树,树上还有没有其他鸟?”
“没有.” “方圆十里呢?” “就这么一棵树!”
“有没有残疾或饿的飞不动的鸟?”
“没有,都身体倍棒.”
“算不算怀孕肚子里的小鸟?”
“都是公的.”
“都不可能怀孕?”
“………,决不可能.”
“打鸟的人眼里有没有花?保证是十只?”
“没有花,就十只.” 老师脑门上的汗已经流下来了,
下课铃响起,但男孩仍继续问:“有没有傻的不怕死的?”
“都怕死.”
“有没有因为情侣被打中,自己留下来的?”
“笨蛋,之前不是说都是公的嘛!”
“同志可不可以啊!”
“………….,性取向都很正常!”
“会不会一枪打死两只?”
“不会.”
“一枪打死三只呢?”
“不会.”
“四只呢?”
“更不会!”
“五只呢?”
“绝对不会!!!”
“那六只总有可能吧?”
“除非你他妈的是猪生的才有可能!一枪只能打死一只!”
“…好吧,那么所有的鸟都可以自由活动么?”
“完全可以.”
“它们受到惊吓起飞时会不会惊慌失措而互相撞上?”
“不会,每只鸟都装有卫星导航系统,而且可以自动飞行.”
“恩,如果您的回答没有骗人,”学生满怀信心的回答,“打死的鸟要是挂在树上没掉下来,那么就剩一只,如果掉下来,就一只不剩.”
老师推推眼镜,强忍着要昏倒的感觉,颤抖地说道:“你可以去当程序员了……”
一个好的程序员,如果做到了上面那位学生考虑问题的全面,那他一定会是位好的程序员,我们在编程设计的时候,经常会猜测客户的需求可能是这样,可能是那样,去向领导或客户确认,确认之后领导客户都烦了,慢慢地就安装自己的想象去做。这样到完成的时候却经常推到重来,悲剧......,顾将此小记共享和广大程序员朋友共勉!