【1】屏蔽取舍法

屏蔽取舍,即所谓与问题无关的前后“语境”完全可以忽略,首先屏蔽掉,再根据问题复现路径查看问题发生的区间,然后逐近锁定“病灶”,确定需要修改的目标。

【2】追溯原形法

追溯原形,即需要修改的区间已经找到,但是看似没有“病症”,那么怎么办呢?向父类或基类追溯,或许这个问题是历史遗留问题,不过在衍生物表现出了不正常而已。

【3】缩小范围法

缩小范围法,即利用弹提示框的方式找到了问题可能发生的区间,再要往“祖坟上刨一层”,就需要更加的缩小范围。针对于发布版更耐用。

【4】模式设别法

模式识别法,即实在找不到问题,代码也看得云里雾里(维护代码未必都是自己所写)的时候,想想是不是“作者”当初运用了某种设计模式,但运用的不“科学”从而导致了问题的发生。

【5】细节攻克法

细节攻克,即已经把问题锁定到了某个函数,甚至某个语句,这个时候需要专注细节,分析逻辑,调整语句内部的业务处理不合理地方,从而达到对问题的修正。

【6】示例独析法

示例独析,即问题已经明确,但是工程中的上下文语境不便于处理和测试问题,那么就需要单独再做个例子,从而进行模拟和分析问题的症结,然后找到处理问题的突破口。

【7】心想事成法

心想事成,即程序的思想其实很重要的。关键时刻,程序员还是需要思考,深入的用心想想问题应该如何处理更合宜或更有效,达到事半功倍的最佳效果。而不是盲目的下手。

【8】寻人启示法

寻人启示,即每个人都会有思维惯性的时候,当自己实在觉得没法下手,或者不知道该如何处理问题时,要及时的向周围的人寻求指点。

或许,当自己在给别人描述问题症结的时候,自己就会一点一点豁然开朗了(有过这个经历,呵呵~)。

Good Good Study, Day Day Up.

顺序  选择  循环  总结

改Bug总结的更多相关文章

  1. 为什么程序员老在改 Bug,就不能一次改好吗?

    程序员的日常三件事:写Bug.改Bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含Bug. 但是真的有这么多Bug要改吗?就不能一次改完吗? 程序员听这问题后要拍键盘了,还!真! ...

  2. 改bug的乐趣

    一直以来,我都不喜欢改bug,不管是自己的,还是别人的.因为我不相信自己的代码会出现问题,一旦出现问题我就会觉得很难堪,因为我觉得我的代码没什么问题.然后我就不知道该怎么来解决这些问题. 最近这一两次 ...

  3. 曹工改bug:cpu狂飙,old gc频繁,线程神秘死亡连环案件调查报告

    曹工改bug:cpu狂飙,old gc频繁,线程神秘死亡连环案件调查报告 前言 前两天,访问开发环境上一个java服务,发现一直转圈圈,因为我开着fiddler,可以看到的现象是,接口一直没返回:本来 ...

  4. 乐动ld06激光雷达sdk改bug记录分享

    前言: 工作中,有使用过乐动ld06款激光雷达,此款雷达将常规雷达的转动的电机部分内置于自己的保护罩内,减少了雷达本身转动积灰等其他外界影响,探测半径是12m,是一款不错的雷达. 不过今天的主要内容不 ...

  5. android软件简约记账app开发day08-时间对话框的书写+改bug,改bug

    android软件简约记账app开发day08-时间对话框的书写+改bug,改bug 绘制对话跨页面 在添加记账信息功能中,我提供了用户添加备注添加事件的功能,设计是点击时间会弹出一个时间对话框供用户 ...

  6. git学习笔记09-bug分支-自己的分支改到一半了-要去改bug怎么办?

    当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交: 并不是你不想提交,而是工作只进行到一半,还没法 ...

  7. 改BUG方法

    ---恢复内容开始--- 今天改了半天参数,后来发现原来是表设置错了,于是决定总结出遇到BUG时的方法,等下次再遇到BUG时,过一遍每个方法就会减少解决BUG的时间,话不多说,写 ①检查表.数据库是否 ...

  8. 11号了,还有三天上线-改bug

    +(NSDictionary *)replacedKeyFromPropertyName { return  @{ @"doctorId": @"id" }; ...

  9. 一次精疲力尽的改bug经历

    一.介绍 最近一直在做有关JavaScriptCore的技术需求,上周发现一个问题,当在JavaScriptCore在垃圾回收时,项目会有一定几率发生崩溃.崩溃发生时调用堆栈如下: 图1 调用堆栈 先 ...

  10. 改bug后 fix bug 时,一个不错的修复描述模板

    *问题原因:* 问题出现的原因.*解决方法:* 问题的解决方案.*影响分支:* 影响哪些分支. *相关修改:* 具体的修改文件列表.*自测结果:* 自行测试了哪些用例,将大概步骤描述出来. *影响功能 ...

随机推荐

  1. curl get post 数据

    1.get方式传值 function testGet(){ $ch = curl_init (); //初始化一个cURL会话 $url = "127.0.0.1/testPage?test ...

  2. Object转换为json格式

    public String toJSONString(Object obj)     {              SerializeWriter serializewriter = new Seri ...

  3. ios项目生成ipa文件方法

    做这些的前提是你配置好了所有的证书,如果还没先去配置证书吧. 1.打开需要生成ipa的ios项目.2.在运行按钮的后面选择ios Device3.点击Product 按钮,选择第五个Archive4. ...

  4. MVC项目实践,在三层架构下实现SportsStore-05,实现导航

    SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...

  5. [算法]A General Polygon Clipping Library

    A General Polygon Clipping Library Version 2.32    http://www.cs.man.ac.uk/~toby/alan/software/gpc.h ...

  6. javascript学习之位置获取

    一.获取浏览器的大小和位置 具体可以参见博客:http://www.cnblogs.com/bobodeboke/p/4653920.html 二.获取元素的大小和位置 方法一.利用offsetXXX ...

  7. ajax get和post请求 后端接收并返回数据

    get请求$(function(){ //alert("23"); var x = "#page"; var y = "${ctx!}/static/ ...

  8. UIButton详解

    // ----------------------------------UIButton------------------------------ // UIButtonTypeSystem 点击 ...

  9. c# yyyyMMdd,dd/MM/yyyy 类型字符串转换为datetime 类型

    DateTime ConvertDate = DateTime.ParseExact("20140504", "yyyyMMdd", null, System. ...

  10. java io读书笔记(8)FileInputStream/FileOutputStream的应用

    转自:http://www.cnblogs.com/jjtech/archive/2011/04/17/2019210.html 这是一对继承于InputStream和OutputStream的类,用 ...