俩程序员的“BUG排查”崩溃小品剧本润色版本_第1页
俩程序员的“BUG排查”崩溃小品剧本润色版本_第2页
俩程序员的“BUG排查”崩溃小品剧本润色版本_第3页
俩程序员的“BUG排查”崩溃小品剧本润色版本_第4页
俩程序员的“BUG排查”崩溃小品剧本润色版本_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

俩程序员的“BUG排查”崩溃小品剧本润色版本人物林小码:26岁,软件开发工程师,性格有点急躁但责任心强,常因为BUG找不到而抓头发张DEBUG:28岁,软件开发工程师,林小码的搭档,性格相对沉稳,爱吐槽但关键时刻靠谱时间周三晚上9点半地点某软件开发公司办公区(仅呈现两人工位,桌上放着笔记本电脑、咖啡杯、零散的便利贴,背景能看到“加班ing”的灯牌,无任何具体公司名称、地址标识)(幕启:林小码坐在电脑前,手指在键盘上飞快敲击,时不时停下来挠挠头,屏幕上满是代码和红色的报错信息;张DEBUG靠在椅背上,揉着太阳穴,手里捏着一张写满测试反馈的便利贴,面前的电脑屏幕也亮着代码页)【第一段】加班开局:BUG突袭林小码:(猛地一拍桌子,声音不大但带着烦躁)不是吧!这电商项目的支付功能,上午测的时候还好好的,怎么一到下班点,用户付完钱订单就不显示了?这不是存心跟咱们过不去吗?张DEBUG:(睁开眼,把便利贴往桌上一放)你那算啥?我刚看测试同事发的消息,有个用户说点“加入购物车”,直接跳转到首页了——我下午三点就盯着购物车那部分代码,眼睛都快瞪成显微镜了,也没看出哪儿少个括号、多个空格啊!林小码:(转过身,指着自己的屏幕)你快过来看看我这个!报错提示说“参数未定义”,但我查了接口文档,参数名明明跟后端对过三遍,怎么就未定义了?(拿起桌上的咖啡喝了一口,咖啡已经凉了,皱了皱眉放下)张DEBUG:(起身走到林小码工位旁,弯腰盯着屏幕)让我看看……你这参数传的是“userID”,后端是不是要“userId”啊?大小写的坑咱之前不是踩过吗?林小码:(眼睛一亮,赶紧在键盘上改)对啊!我怎么把这茬忘了!上次就是因为“OrderNo”和“orderno”卡了俩小时……(改完点击运行,屏幕上的报错变成了另一个红色提示)不是吧!怎么又错了?张DEBUG:(凑更近了些,手指点了点屏幕)这提示是“数据库连接超时”,跟参数没关系了。是不是运维那边又在维护数据库啊?林小码:(掏出手机翻聊天记录)我看看……运维下午6点发过消息,说今晚8点到10点维护,但现在都9点半了,怎么还没好?(点开跟运维的对话框,刚要打字,手机突然弹出测试的消息)完了完了,测试说客户明天一早要验收,今晚这BUG必须解决!张DEBUG:(扶了扶额头,走回自己工位)得,加班加到天亮的节奏。我先把我那购物车的代码再捋一遍,你跟运维催催,看看维护到啥时候了。【第二段】排查波折:越查越懵(林小码对着手机跟运维发消息,时不时叹气;张DEBUG则对着自己的电脑,一边翻代码一边嘴里念念有词)张DEBUG:(突然停下来,挠了挠后脑勺)不对啊,我这购物车跳转的代码,明明加了判断条件,只有点“首页”按钮才会跳首页,怎么点“加入购物车”也跳?(随手把旁边的便利贴扯下来,在上面画流程)用户点按钮→触发addCart函数→调用接口→返回成功→留在当前页……没毛病啊!林小码:(放下手机,一脸无奈)运维说数据库维护得延迟,得10点才能好。也就是说,我这支付功能的BUG,至少还得等半小时才能测到底改没改对。张DEBUG:(抬头看了看林小码,指了指自己的屏幕)那你过来帮我看看?我这代码翻了五遍了,跟上次上线的版本对比,就改了个注释,怎么就能出这问题?林小码:(走过去,弯腰看了一会儿)你把注释去掉试试?有时候注释里的特殊符号,比如//后面带个分号,编译器可能会误读。张DEBUG:(半信半疑)不能吧?注释还有这坑?(一边说一边把注释删掉,点击运行,然后打开测试页面,点了“加入购物车”按钮——页面没跳转,而是弹出了“加入成功”的提示)哎?成了!林小码:(拍了下手)你看!我就说吧!上次我注释里加了个“//TODO:明天改”,结果编译器把“TODO”当成关键字了,卡了半天!张DEBUG:(又气又笑,拍了下自己的脑袋)我服了!这BUG找得比破案还累,结果是注释的锅!(刚说完,自己的电脑突然弹出一个新的报错提示,他脸色瞬间垮了)不是吧!怎么又报错了?林小码:(凑过去看)“数组越界”?你这购物车代码里没用到数组啊?张DEBUG:(赶紧翻代码)我看看……哦!我刚才删注释的时候,不小心把后面一行代码也删了!就是定义商品列表数组的那行!(一边说一边赶紧补代码,手指都有点抖)林小码:(忍不住笑出声)你这手也太滑了!删注释还能顺带删代码,也是个人才。张DEBUG:(补完代码,点击运行,没报错了,才松了口气)别笑了!你那支付功能还没好呢,等会儿数据库好了,你要是改完又出新BUG,看我不笑你!林小码:(哼了一声,走回自己工位)我才不会犯这种低级错误!(刚坐下,手机又响了,是测试发来的消息,他看完脸色一变)完了!测试说刚才又有用户反馈,下单的时候选“优惠券”,选完优惠券金额没减,反而加了!张DEBUG:(刚端起咖啡要喝,听到这话差点喷出来)还有这操作?优惠券变“加价券”?客户要是看到,不得以为咱们故意坑钱啊!林小码:(双手捂着脸,声音闷闷的)我今天出门没看黄历吧?先是支付订单不显示,再是优惠券加价,这BUG一个比一个离谱!【第三段】崩溃边缘:互相“吐槽”(林小码趴在桌上,头埋在胳膊里;张DEBUG走过去,拍了拍他的后背)张DEBUG:别趴了,起来接着干!客户明天要验收,咱们总不能带着“加价券”去见客户吧?(把林小码的电脑屏幕往他那边转了转)你先把优惠券的代码调出来,咱们一起看,俩眼睛总比一个眼睛强。林小码:(慢慢抬起头,眼睛里带着红血丝)我都快忘了优惠券那部分代码是怎么写的了,上次改还是一个月前。(伸手把电脑拉过来,点开优惠券相关的代码文件)你看,这里计算金额的逻辑是“订单金额-优惠券金额”,没毛病啊!张DEBUG:(指着代码里的减号)你这减号是不是英文输入法的?别是中文的“一”啊,上次小李就是把英文减号写成中文的,结果计算的时候直接报错。林小码:(赶紧选中减号,看了看输入法)是英文的啊!我特意切了输入法的……(突然停下来,眼睛盯着屏幕)等等!我这订单金额取的是“totalPrice”,优惠券金额取的是“couponPrice”,但我刚才改支付参数的时候,是不是把“couponPrice”写成“couponPirce”了?张DEBUG:(凑过去看,指着代码里的“couponPirce”)还真是!“Price”写成“Pirce”了,字母顺序错了!所以程序取到的优惠券金额是0,然后“订单金额-0”还是原价,但为啥会加价啊?林小码:(赶紧改过来,又翻了几行代码)哦!我后面还有个判断,要是优惠券金额为0,就执行“订单金额+10”,说是给新用户的满减,结果因为“couponPirce”错了,所有用户都触发了这个判断,所以就加价了!张DEBUG:(忍不住笑了)你这真是“一步错,步步错”!赶紧改了,等会儿数据库好了一起测。(林小码改完代码,刚保存,电脑突然黑屏了)林小码:(手忙脚乱地按电源键)不是吧!怎么还黑屏了?我刚改的代码没保存成功吧?张DEBUG:(赶紧走过去,帮着检查电脑)别慌,可能是电脑待机了,你按一下键盘试试……(林小码按了下空格键,电脑屏幕亮了,代码还在)你看,没事,就是你刚才趴桌上的时候,胳膊肘碰到待机键了。林小码:(长长舒了口气,瘫在椅子上)我今天这心脏,就跟坐过山车似的。一会儿报错,一会儿黑屏,再这么下去,我没崩溃,电脑先崩溃了。张DEBUG:(看了看时间,拿起手机)都10点了,运维应该维护完了,你赶紧测测支付功能和优惠券功能,我再把我那购物车的代码测一遍,别等会儿又出幺蛾子。【第四段】结局:刚好又错,无奈坚持(林小码打开测试环境,先测支付功能:用户下单、付款,页面跳转到“支付成功”,然后刷新订单列表——订单显示出来了)林小码:(兴奋地拍了下桌子)成了!支付订单能显示了!(又测优惠券:选了一张10元优惠券,订单金额从100变成了90)优惠券也对了!没加价,是减价!张DEBUG:(听到声音,也赶紧测自己的购物车:点“加入购物车”,页面弹出“加入成功”,没跳转首页)我这也成了!终于把这几个BUG解决了!(看了看窗外,天已经蒙蒙亮了,远处有早起的行人)林小码:(顺着张DEBUG的目光看向窗外,愣了一下)不是吧!咱们居然加了一晚上班?张DEBUG:(拿起桌上凉透的咖啡,喝了一口)可不是嘛!从昨晚9点到今早5点,8个小时,就跟这几个BUG死磕了。(刚说完,林小码的电脑突然又弹出一个报错提示)林小码:(刚放松的表情又僵住了,盯着屏幕)别告诉我……又错了?张DEBUG:(凑过去看)“用户头像加载失败”?这跟咱们今晚改的功能没关系啊!林小码:(无奈地笑了,重新坐在键盘前)得,刚想喘口气,又来一个。不过还好,不是大BUG,应该是图片服务器的问题。张DEBUG:(也笑了,拿起自己的外套)行吧,那你先跟运维说下头像的事,我去楼下买两包子,咱吃完再补觉。不然等会儿客户验收,咱俩顶着黑眼圈,跟刚从BUG堆里爬出来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论