程序员是这样炼成的12_程序员是怎么炼成的
程序员是这样炼成的12由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“程序员是怎么炼成的”。
程序员是这样炼成的(12)-勇于面对开发失败
个人一辈子不犯错很难,作为一个程序员要每天不制造程序错误更难。今天跟大家讨论如何面对失败和错误,大到一个项目的开发失败,小到几行代码中的bug,都是我们在日常开发中经常要面对的问题。
有一家这样小公司,测试部和软件开发部是独立的两个部门,有各自的部门经理。老板总是喜欢给下面的员工施紧箍咒,施加压力,又是能力评估,又事绩效考核,于是某一年,在领导们别出心裁的领导下,公司出台了软件开发工程师的考核制度,制度明确规定:将程序员开发项目和软件的测试一次通过率和项目中的bug个数纳入开发人员的年终绩效考核,由测试部门进行考核和执行。(所谓一次通过率,就是软件提交测试后,一次通过的概率,一次测试就通过的软件/提交测试申请的软件数*100%)新法颁布后,测试部大呼过瘾,软件开发部一片哗然,第一年的过去了,果然“成绩喜人”,全公司的软件一次通过率达到了97%,无数未经测试软件被偷偷发布给了客户。第二年领导们在吸取了第一年的经验和教训后,毅然的修改了考核标准,在统计bug个数的同时融入了代码行数的概念,bug个数/100行代码 *100%来,进行年终考核,第二年过去了,软件开发部门戏剧化的以100行代码0.5的bug数,高效的开发质量给了领导们一个有力的答案。这是一个真实的事故,一个三流的软件公司的开发水平和软件质量已经“超越了”微软和google,我相信现在仍然还有很多公司在进行类似这个的考核。
这样的小公司把软件开发和测试部门独立本身就是一种错误,严重的影响的开发和测试的时间,两个部门相互扯皮,项目进展一拖再拖。
其次,两个部门工作的出发点也错了,两个部门的工作重心是交给客户尽善尽美的软件产品,而不是为了应付考核和被考核。
第三大错特错的是考评制度,一看这样的制度,多半都是事不关己高高挂起的人出的主意,开发软件能一次就通过吗?写出来的代码能没有bug存在吗?公司要提高产品质量,不把注意力放在项目管理人,开发人员的能力培训上,开发规范和文档管理上,想凭借一纸空文,或者员工的主观能动就达到一个“质”的飞越,实在愚不可及!软件工程师在把软件测试N次以后才敢把软件提交测试,几行代码就能完成的完成功能,引用了很多填充行数的无效单元。
最可恶的是,使所有的开发人员,散失了面对失败和错误的勇气!为什么不改面对呢?一面对就要扣工资和年终奖,谁还敢去面对啊?于是,整个开发风气就是:开发人员私下放行软件给客户成风,不经过任何测试。程序员有了错误死有的不承认,有了bug支支吾吾。不但开发水平提升不上去,常见的开发问题还没有被公开和分享解决,导致产品质量严重下降。
大家都应该知道在开发的过程中,越早发现软件的问题,软件就更加的完善。而不是藏着掖着,或者添上一抔土把这个“地雷”埋着,留着让用户踩去吧。正确的心态是:测试人员越早发现我们开发软件中错误,我们应该越高兴,因为不仅可以弥补我们的思维漏洞,让我们的代码更加完美,更加减少了我们挽救这个问题的开销。不敢直面bug的程序员,算不上真正的程序员,如果你没有闯过雷区,没有被炸了个人仰马翻,没有给你留下深刻的教训,那么下次你仍然会不知道代码的隐患在哪?仍然不会学会选择趋吉避凶之道。仍然会被炸的死去活来。
写代码有经验的人,对异常处理都很有一套,知道大概这一块要保护起来,那一块要加一个判断,这里要验证下是否存在或已经被销毁。如果程序员没有很好的对未能遇见的故障做好防御工作,那么产品带给用户的错误提示或者死机,将让客户连杀了你的心都有。记得好多年前,在一个网吧找了一台赛扬上网,打开IE,自动弹出网页,然后就报错系统级的错误了,还无休无止,CPU直接满上,然后死机,当时又好笑又好气,你写个弹窗软件,偷偷弹就算了,代码都没写好,结果害网吧老板重装系统:)
看过武侠的都知道,危难关头,出现异常的时候,才是检测一个真正武林高手水平的时候,平时的舞蹈练剑都是假把式,最多只能算是基本功,补救危局,化腐朽为神奇才能显示技艺的高超。有多少人会记恨千年虫问题是哪个混蛋带给我们的?但是解决千年虫问题软件工程师们都是英雄。所以放心的动手开发
吧,即使你犯了错误,被骂成狗熊,也没有人会记住你。问题被解决后一切释然。
是人都会犯错误,对别人犯错误评头论足的人愚昧。用发布制度来阻止别人放错误的人愚蠢,因为害怕放错误,而畏手畏脚不敢创新和向前的人则更加愚上加愚。错误面前我们要敢于应对:
1、对错自在人心。
当然你发现问题后,请马上提出,不要企图隐瞒问题,越早发现问题,那么损失就越小,抗震救灾有黄金72小时,软件开发也有黄金72小时。我们在解决陈年诟病的时候,通过要花上数倍的时间,来回忆当时的开发心境和设计意图。
2、接受批评。
如果这个问题跟你有关那么就是你的问题,千万别动念头找到一只替罪羊,出现问题后,重要的解决问题,不是秋后算账,更加不要交缠不清推脱问题。
3、向解决的方向前进。
如果你不能马上解决这个问题,那么请你把这个问题向解决的方向推进,如果你无法推进问题去解决,那么请不要让这个问题继续恶化。让大家都知道这个问题的存在。
4、寻求帮助。
请不要让自己的自尊心作祟,拒绝别人的帮助,一个好汉三个帮,放下那所谓的自尊,去听取团队和伙伴的建议。
每个人对错误的处理方式不同,会产生不同的结果,问题处理的好,会使得团队更加信任你,甚至比遇到问题之前,更加信任你,要是处理的不好,不但摧毁了大家的信任,还会让人觉得你难以担任重任。
程序员是这样炼成的(10)- 现在我们能做些什么?前天在1+1 其实我以前也常有这样的感觉:茫然,麻木,不知道自己要做些什么?也不知道自己能做些什么? 有时候一天下来,虽然一直在忙碌不......
程序员是这样炼成的(5)-海纳百川 做程序员要“海纳百川”,其实就是建议各位要做一个通才。当然做通才是有条件的,我总结了下前提有三:1.你已经是一个专才。熟练操作学一门像样的......
在成为程序员的道路上,要经历四个坎坷,让我们用四个境界来标明他们。【第一境界】掌握一门或者几门编程语言,会模仿例子来实现程序代码,并且让代码在计算机系统中运行起来。达到......
云南省普洱市西盟佤族自治县位于云南省西南部,普洱市思茅地区西部的啊佤山区,钢铁是这样炼成的-记云南省普洱市西盟县消防大队(原创广播稿)。地处怒山山脉南段,属中高山峡谷地带......
钢铁是这样练成的上学的时候读过一本书《钢铁是怎样练成的》,被保尔顽强、执着、奉献、宽容的性格魅力深深的折服,参加工作以后,单位是一本大书,让我品读着每一个人,感受着公路工......
