点击续命|程序员如何有效处理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 条评论
登录 后参与评论

相关文章

来自专栏C#

DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱。不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬。(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...)...

4808
来自专栏hbbliyong

WPF Trigger for IsSelected in a DataTemplate for ListBox items

<DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlug...

4054
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2122
来自专栏ASP.NETCore

ASP.NET Core 整合Autofac和Castle实现自动AOP拦截

除了ASP.NETCore自带的IOC容器外,我们还可以使用其他成熟的DI框架,如Autofac,StructureMap等(笔者只用过Unity,Ninjec...

674
来自专栏魂祭心

原 canvas绘制clock

4024
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

3955
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6638
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3095
来自专栏一个爱瞎折腾的程序猿

sqlserver使用存储过程跟踪SQL

USE [master] GO /****** Object: StoredProcedure [dbo].[sp_perfworkload_trace_s...

2000
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2667

扫码关注云+社区