朋友,请待你的朋友——BUG好一点!
程序猿嘛,难免会被BUG缠身,我相信,没有一个程序猿在被BUG缠身时是感觉轻松的,消灭BUG一定是你最大的愿望。本周,我们团队的项目进入调试阶段,各种BUG层出不穷,眼看下个周就要进行项目答辩会,所以每个成员都绷紧了神经,与时间赛跑,一路过关斩将,解除一个一个的BUG。今天,我们就来简单谈一下,我们应该如何对待这位特殊的“朋友”——BUG:
BUG,一种传说中的昆虫类爬行动物。形状多变,往往根据生存环境随意变换其外形特征。常常和一类叫做“程序猿”的灵长类动物共存。程序猿在工作之余,常以捕杀BUG作为消遣。当某些BUG演变成具有较大破坏性的时候,需要集体捕杀,或是替别人捕杀BUG的情况也时有发生。
一个项目的推进,通常有四种情况:
第一种,负责的程序猿,紧张的进度——这种情况往往是快速试错、快速迭代的开发流程,开发过程中,可能会出现一些BUG,但因为程序猿是负责的,项目收尾时会有自发的BUG清理;
第二种,不负责的程序猿,紧张的进度——情况基本和第一种情况类似,但是在最后项目中会埋下很多未处理的BUG的蛹,给维护带来很多不便和负担;
第三种,负责的程序猿,不那么紧张的进度——这种时候可以不满不慌的,三思而后行,这样一来BUG会很少,而且也不好留下BUG的蛹,甚至会出现BUG Free的情况,但是开发速度有点缓慢;
第四种,不负责任的程序猿,进度是不是紧张,他们不管——做得越少,错得越少。这种情况下,BUG会大量滋生,最终可能会危及整个项目的人身安全,而且项目能不能如期完成,程序猿也高高挂起。
不管在项目开发中,处于哪一种状态,在进度与责任之间,程序猿的平衡直接导致了BUG的滋生与否,但是还有一个原因,那就是上层管理者的态度。如果一个项目中有很多BUG,而且有一些因为寄生太久,已经搞不清是从哪里冒出来的,又要怎么捕杀这些BUG从而力求达到一个BUG Free的环境?
团队很小的时候,可以自发指定一些规则,大家自觉维护代码的质量,BUG一抓一个准,抓一个修一个。。一些平时因为种种情况(懒、耍滑、太忙、不太懂······)从来对BUG都是连推带拖的人,找他抓BUG的人会很少,对这种人而言,系统了解不少,但是也省出了一些时间。所以从某种意义上来讲,不部分所有权明确的BUG很容易被处理,而一些三不管地带的BUG往往可以被一再忽视,成为千年老BUG,给项目的运营带来隐患。比如,这里有些某项目遗留的BUG,但是整个项目组的拆了;再比如,一个前员工留下的BUG,但是这个人已经离开很久了······而这样的BUG,如果没有从上层发起重视和方案,或者是几个真正把公司的事看成自己的事的能人,往往不论英雄多少用户,都不会被重视。这时,有人可能会说:可以通过一定的奖励机制来鼓励维修BUG。但是, 这种机制也会遭到质疑:1.奖励修BUG,必然有很多组投身修理更多的BUG,这会不会伤害到代码的质量呢?2.修理自己的BUG,该不该奖励?3.有人会过度热衷于修BUG而影响正常的开发工作?
说到这里,我不禁想起了某公司的一位高管所说的一句话:很多BUG的道路,就好像在没有告诉公路上行驶的很多车辆。不论怎样,你都快不了。当有这样一个机制来鼓励清理BUG时,就好像是修了一条高速公路。这虽然不能保证所有的时候所有的车都可以畅通无阻,也不可避免所有的人开始飙车,引起别的问题。但至少,在这条路上,除非出了事故,否则你就有了最低限速,确保大部分时候,还是比没有这条路时,交通要好的多。你们说呢?
清理BUG,奖励清理BUG,待BUG好一点,你的项目会绽放出更美丽的花朵!
朋友,请待你的朋友——BUG好一点!的更多相关文章
- 最近修bug的一点感悟
写在前面话 项目从13年1月份,现场开发,4月中旬,项目开发接近尾声,三个开发,留两个在现场,我被调回公司,5月份现场一同事离职,只有一个同事在开发,结果PM想让这一个同事承担余下的开发和bug工作, ...
- 谈谈对bug的一点想法,说说做好日志记录的重要性
说起程序猿,总绕不开的一个话题就是bug,估计每个程序猿听到某某测试跑过来一脸淫笑的告诉你这个功能有个bug的时候,总有种恨不得掐死他的想法.其实程序猿跟bug的关系,感觉有点像父亲和儿子的关系,自己 ...
- ubuntu14.04下CPU的caffe配置,不成功的朋友请与我(lee)联系,后面附带邮箱
因广大朋友需求cpu的caffe配置.所以我(lee)在这份博客中对cpu配置caffe做出对应操作说明.希望能够解决大家对cpu配置caffe的困惑.少走弯路. 假设有安装不成功的朋友能够和我联系, ...
- 关于提BUG的一点思考以及工作中总结的规范
在测试的工作中,提BUG是日常工作. 以前自己为了省事,省时,仅仅是截图,在图片上注明一下问题,就放到BUG库中了. 现在发现这样会造成开发的时间的浪费,增加了沟通成本. 对于BUG,当发现了异常时, ...
- 调bug的一点感悟
出错时一定要先看错误日志,要知道出什么错了,所以平常在可能出错的地方都要输出错误日志. 不要根据脑中的设想去调bug,时间久了就没有耐心,一烦躁起来,思维定势了,就越调不出来了. 所以一般半小时还找不 ...
- 论 BUG调试与(程序猿)初学者
作为一枚程序猿,BUG调试是最基本的技能,对于初学者更是重中之重.个人而言,要想为自己的程序猿生涯更上一层楼,就得知道什么是BUG调试,而且还必须知道怎么调好BUG.那么BUG究竟是什么呢?在我之前的 ...
- iOS开发常见BUG和一些小技巧(ps:耐心看完,很实用)
[385][scrollView不接受点击事件,是因为事件传递失败] // // MyScrollView.m // Created by beyond on 15/6/6. // Copyright ...
- 海王星给你好看!FineUI v4.0公测版发布暨《你找BUG我送书》活动开始(活动已结束!)
<FineUI v4.0 你找BUG我送书>活动已结束,恭喜如下三位网友获得由 FineUI 作者亲自翻译的图书<jQuery实战 第二版>! 奋斗~ 吉吉﹑ purplebo ...
- SQL Server 优化器特性导致的内存授予相关BUG
我们有时会遇到一些坑,要不填平,要不绕过.这里为大家介绍一个相关SQL Server优化器方面的特性导致内存授予的相关BUG,及相关解决方式,也顺便回答下邹建同学的相关疑问. 问题描述 一个简单的查询 ...
随机推荐
- UE4关于Oculus Rift (VR)开发忠告
转自:http://blog.csdn.net/cartzhang/article/details/42493843 UE4虚拟现实 实现的注意事项 https://docs.unrealengine ...
- js 按字段分组
var data = [{"id":"32b80b76-a81e-4545-8065-1e7c57180801","userId":&quo ...
- SpringBoot 之 普通类获取Spring容器中的bean
[十]SpringBoot 之 普通类获取Spring容器中的bean 我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器 ...
- python中模拟进行ssh命令的执行
在进行socket编程的时候,可以实现远程执行命令,然后返回相关的结果,但是这种...很容易就把服务器搞挂了. 在这里需要用到commands模块,commands模块中有一个方法为getstatus ...
- FCCMBBTN.RES
[ilink32 Error] Error: Unable to open file 'FCCMBBTN.RES' 用到了fc控件 添加路径到LibPath即可. 1st\1stClassStudio ...
- Eclipse去掉对jQuery的错误提示
1.I have found that I can leave the JavaScript Validator enable and ignore specific files by adding ...
- VLC播放RTSP视频延迟问题 (转)
原帖地址:http://blog.chinaunix.net/uid-26611383-id-3755283.html ======================================== ...
- leetcode: Longest Valid Parentheses分析和实现
题目大意:给出一个只包含字符'('和')'的字符串S,求最长有效括号序列的长度. 很有趣的题目,有助于我们对这种人类自身制定的规则的深入理解,可能我们大多数人都从没有真正理解过怎样一个括号序列是有效的 ...
- Spring Boot 、mybatis 、swagger 和 c3p0 整合
文件路径如下 添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...
- mysql常用的信息查询函数
mysql常用信息函数 select version(); --当前数据库服务器版本信息 select database(); --当前使用的数据库 select current_user() 或 s ...