关于软件项目后期Fix bug的意义之我见

众所周知:基本上所有的软件项目到后期必不可少的是fix bug,一个软件在交付客户后或交给测试人员测试时都存在一些程序员意想不到的问题。现在有一些成熟的bug跟踪系统,譬如:bugzero,bugzilla, redmine等等。

  解bug是很头痛的问题,一般是以下原因引起的:

  (1)设计上的缺陷;

  (2)写代码时考虑不周全;

  (3)测试人员无中生有;

  (4)所依赖的插件,框架本身的缺陷。

  第一种情况:最棘手,需要修改程序架构,费时又费力,但是不改又不行总不能要客户该需求,按照你的程序来吧。没办法,改吧。

  第二种情况:还好,看看是那里出来问题,改改代码就可以了,但是改完后需要确认一下会不会对其他模块或功能造成影响。一般如果影响很大的话,那就是模块之间的耦合度太高,不是高质量代码,会越改越乱。

  第三种情况:

  a、撰写需求文档时,对软件需求设计模糊不清,让人产生歧义。譬如在编写需求文档时考虑不周留下让人发挥想象的空间,或前后矛盾。

  b、测试人员或者软件开发人员对没有真正理解需求,譬如文化差异导致理解不一致。

  c、测试跟你有仇。呵呵。。

  第四种情况:

  软件越是开发到最后,bug的难度越大。因为这时你对代码一丁点的改动就有可能引发新的bug,这里不管你的设计的如何如何好,模块与模块之间的耦合度如 何如何低,都不可避免。深层次的问题也慢慢暴露出来,那就是你项目依赖的东西,譬如第三方的插件,框架本身的缺陷或者由于对他的不了解造成的误用。这些 bug才是最头疼的。鸡肋鸡肋啊,弃之可惜,用之可悲。

  不过,作为一个执着的程序员或软件工作人员,基本的职业道德还是要有的,不能有了难解决的bug就退缩。实际上虽然解决bug学不到新东西,但是还是有好处的:

  (1)可以让你更加深入的了解你自己,了解自己一直以来被忽略的“缺陷”。

  (2)考验你的耐心和忍耐度,极限。

  (3)增加程序员之间的沟通,促进感情交流。

  这个要说一下,遇到自己解决不来的bug,可以请能解决的人帮忙看看,有了高人指点也能让自己多学点东西,学的不是这个bug这么解决的,而是人家遇到问题的思考方法为什么比你宽广,找到原因后,你就可以和他一样无所不能了。哈哈。。。

  (4)可以在闲暇之余给自己冲冲电。

  项目初期和中期都是比较忙的,任务满满的,基本没有闲暇时间。后期就不一样了,bug少的人就可以多一点自己的时间。呵呵,就看你这么利用了。

  以上是我对软件项目后期Fix bug的意义的思考,希望对广大软件工作者有所启发。也在此勉励那些不在bug中沉默就在bug中爆发的人,好自为之吧。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 05:22:51

关于软件项目后期Fix bug的意义之我见的相关文章

《挖掘管理价值:企业软件项目管理实战》一1.2 软件项目特点和意义

1.2 软件项目特点和意义 挖掘管理价值:企业软件项目管理实战为什么对软件项目要提出专门的管理要求呢?软件自身的特点决定了它有别于一般的工程项目,这些特点反映在以下3个方面. 1.无形性软件不像大桥.房子.高速公路,它没有具体的.物理的实体,仅仅是存在于计算机系统中的代码和屏幕上的图形.因此软件项目也没有可见的.可触摸的实体,其管理过程就是将无形的软件构造过程可视化.具体化.可操作化和可控化. 2.多变性如果一座跨江大桥建到一半的时候,想把桥的一端换一个地方是不可能的,除非把大桥拆了重建.但是软

软件项目“免坑”指南

"谁也无法改变现状,唯有无数程序员血洒大地,才能使项目重建天日."这一点也不夸张,软件项目做烂了就是个坑,参与者也不过是填坑的.就像是在魔兽世界战场遇到国家队一样,你赢也赢不了,出也出不去. 一.坑有多深? 当我们进入一个项目时,通过不断观察我们可以发现我们的项目到底是不是一个坑.造坑的项目,往往具有某些"臭味",以下是我的一些认识,这些"臭味"即是项目健康状态不佳的明显标志: ● 编码规范形同废纸,代码质量低下.每个项目都有编码规范,但真正严格

软件项目,什么叫坑爹!大家注意了

"谁也无法改变现状,唯有无数程序员血洒大地,才能使项目重建天日."这一点也不夸张,软件项目做烂了就是个坑,参与者也不过是填坑的.就像是在魔兽世界战场遇到国家队一样,你赢也赢不了,出也出不去. 一 坑有多深? 当我们进入一个项目时,通过不断观察我们可以发现我们的项目到底是不是一个坑.造坑的项目,往往具有某些"臭味",以下是我的一些认识,这些"臭味"即是项目健康状态不佳的明显标志: ◆  编码规范形同废纸,代码质量低下 每个项目都有编码规范,但真正严

小型软件项目开发流程探讨

一.导言 国内很多项目都是小型项目,参与人员少(两到五个人),要快速交付(一两个月) . 要成功完成这种项目,除了使用成熟且被团队成员熟练使用的技术之外,有一个良好的开发流程,也是很必要的. 二.小型软件项目开发流程 下图是我对小型软件项目开发流程的一个设想: 需求分析的重要性想必大家都应该清楚,对于项目来说,满足用户的需求是第一位的. 因为时间紧,系统设计经常被忽略. 这会留下很大的隐患,国内很多项目的需求通常是很简略的,还需要在系统设计阶段把一些需求进一步的明确. 不然会出现因为前期一些需求

《Python数据挖掘:概念、方法与实践》一2.3 项目—发现软件项目标签中的关联规则

2.3 项目-发现软件项目标签中的关联规则 1997年,Freshmeat网站创立,它是一个跟踪免费.自由和开放源码软件(FLOSS)项目的目录.2011年,该网站更名为Freecode.在出售.并购和多次网站重新设计之后,2014年,Freecode网站的所有更新都停止了.这个网站仍然在线,但是不再更新,目录中也不再加入任何新项目.现在,Freecode是20世纪90年代和21世纪初FLOSS项目相关信息的快照.每个软件项目的相关事实包括名称.描述.下载软件的URL.描述其特征的标签.代表其流

从拼死拼活开发软件项目到远程遥控管理

现在想想开发软件都有整整12年以上了人生最美好的时光都用在这个上了,在这期间有不少酸甜苦辣,有时候真不好意思说自己是35岁的老程序员了,有尝到过创业失败的滋味,有过人生的困难时期,多少遇到了很多贵人相助,日子就一天比一天好起来了.其实每天怀着感恩的心里,生活就一天比一天好,心态也会越来越健康了. AD: 交流很重要,沟通无极限 现在想想开发软件都有整整12年以上了人生最美好的时光都用在这个上了,在这期间有不少酸甜苦辣,有时候真不好意思说自己是35岁的老程序员了,有尝到过创业失败的滋味,有过人生的

一地鸡毛——软件项目中的人际困局

一地鸡毛--软件项目中的人际困局作者结合切身经历,展示了他之前所在团队软件项目延期的种种原因,而其中印象最深刻的是各种人事纷扰乃至于勾心斗角. 六年前,毕业未久的我在一家外企工作,我所在团队开发的软件项目在交付到集成测试组时因种种原因延期一周.这本身根本不是什么大事情,但其间各种人事纷扰乃至于勾心斗角却着实令我印象深刻. 公司 我的老东家是一家大型跨国电信设备开发商,曾具有辉煌的历史.我还记得在公司110周岁的生日庆典上,一位高管致辞说:"110年,这不是奇迹,是成绩",令人不胜欷歔.

未雨绸缪 软件项目策划成功的要点

古人云"万事预则立,不预则废",项目要成功必须做好计划.软件项目策划是项目管理过程中最基本的一个过程,软件项目策划的方法是软件项目经理必须掌握的.在实际的项目策划过程中,必须掌握以下的9个基本要点...... (1)掌握好项目策划的时机 软件项目策划过程的输出是文档化的http://www.aliyun.com/zixun/aggregation/10495.html">项目计划书,在项目的不同阶段都需要进行项目策划,只不过在不同时机项目策划的目的不同,花费的工作量也不

Apache Maven v3.0.2发布 大型协作性软件项目的构建和管理

现代软件项目不再是单个本地团队独立开发的产物.随着健壮的企业级开源组件的可用性日益提高,当今的软件项目需要项目团队间的动态协作,往往也需要混合使用在全球范围内创建和维护的组件.如今,Apache Maven 构建系统步入了第二代,它和由 Internet 带来的全球软件开发时代之前所创建的那些遗留构建工具不同,它完全是重新设计的,以应对这些现代的挑战. 现代软件开发基于健壮的企业级开源技术,它需要一类新的构建工具和项目协作工具.Apache Maven 2 的核心引擎旨在简化往往十分复杂的大型协