点击续命|程序员如何有效处理bug?

测试员因bug而生

程序员因bug狗带

在程序员的职业生涯中,免不了要跟bug一直打交道

Bug也是程序员进阶的磨刀石

当然,bug还更大部分程序员的噩梦啊

心疼你们那一撮撮头发

以及本该狂欢的无数个美好夜晚

老九君将有如何有效处理bug的方式分享给大家

一、面对bug的一些态度

先来说一下软件行业的一些公司,他们经常会让一个人修补另一个人代码里的BUG。在这种情况下,一些程序员完全可以一气呵成书写了一段代码,之后就可以把问题抛给其他工程师

但是,这样就会出现另一种尴尬的情况。由于每个人的代码技巧和风格不一样,让一个人修复另一个人的BUG工作效率相当低。另一方面,搞得另一位程序员很没面子!何况对于技术高一点的程序员来说,修改越是糟糕的代码,越痛苦!在他们的看来,倒不如重写代码

其次,一些程序员面对bug也会出现消极的态度:测试人员是不是针对我?我真的适合做程序员吗?这好像不是我的bug!

具备职业修养的程序员,面对bug的正确姿势应该是:调试代码,单元测试,联合调试,集成测试,确认问题所在,进一步找出问题的原因,然后再修改代码,验证修改后的代码

二、如何解决Bug?

1、二分法定位

这也是比较常规的方法,即把程序逻辑一点点注释掉,看看还会不会出问题,类似二分查找的方法,逐步缩小问题范围

2、单步调试

由于代码逻辑错误,经常会出现输出结果与预期不符。解决此类问题最好的方法就是利用单步调试,即设定每一步代码的预期结果,然后跟踪判断实际结果是否与预期结果一致,找到不一致的原因!在开发环境无法重现,无法单步调试的,就可以运用添加输出日志的方式判断哪一步的问题

3、重写一遍

大部分的bug,其实都是 typo。你可以用必杀技,重写一下代码!

而对于兼有管理职责的程序员来说,遇到手下的bug,不用解释,不用推敲,等他们自己把程序改好,或者实在没办法,再来向你解释他们的思想!

原文发布于微信公众号 - 老九学堂(xuetang9)

原文发表时间:2017-11-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

Python技术巧妙破解Google计算题

开头先讲一下自己的亲身经历,05年的时候,也就是12年前,我去T公司面试,当时T公司在这个城市非常有名,有很多高手(号称小微软).我当时也是抱着初生牛犊不怕虎,...

3856
来自专栏web前端教室

JS本身并不难,为什么前端学起来感觉很难?

image.png 这个问题我就不等大家的回答了,相信大家也明白,我并不是闲的无聊这么问。JS本身语法并不难,它困难的地方在哪呢?主要在于以下几点: ? 1,怎...

1959
来自专栏Android 技术栈

Android 面试资料集锦

763
来自专栏北京马哥教育

从入门到上手,如何快速学会Python?

因为清晰易读的风格,广泛的适用性,Python已经成为最受欢迎的编程语言之一。在TIOBE 排行榜中位居第四,是名副其实的人工智能第一语言。 风靡的另一个原因...

31011
来自专栏企鹅号快讯

如何快速学习C语言?系统学习路线奉上

C语言的重要性 C语言作为编程行业必备的基础,它引入N多的库可以用来开发比较复杂的图形程序,如:俄罗斯方块,如:操作数据库的界面,但是它的意义不在于开发图形界面...

1786
来自专栏不二小段

【一起学Python】爬取前程无忧招聘信息并写入Excel

说在前面:这是依旧是来自Ricky的爬虫小实战。预告一下未来的几个主要内容吧,打算重写一下微信公众号后台,然后写几篇教程;之后是有关分词、词云、情感分析的一些内...

3376
来自专栏程序人生

走进 racket(lisp) 的世界

上周追着看了个大牛的好几篇文章,发现一个叫racket的语言出镜率颇高 —— 这已经是我十月来第三次从各种大牛的文章中接触这个词。就如「惊天魔盗团」里那个被催眠...

3673
来自专栏闰土大叔

太原面经分享:如何在vue面试环节,展示你晋级阿里P6+的技术功底?

一年一度紧张刺激的高考开始了,与此同时,我也没闲着,奔走在各大公司的前端面试环节,不断积累着经验,一路升级打怪。

931
来自专栏刘望舒

Android面试题,了解一下?

941
来自专栏钱曙光的专栏

一周极客热文:每个程序员都必读的10篇文章

图:海外程序员的杂乱双屏桌面 本周热门文章是《每个程序员都必读的10篇文章》,超百条的评论,看出程序员们都是很爱看书,这十本书为: 《程序员必知之内存篇》——带...

1879

扫码关注云+社区