【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. PySe-004-Se-WebDriver 启动浏览器之二 - Chrome

    上篇文章简略讲述了 WebDriver 启动 firefox 浏览器的示例脚本源码,具体请参阅: PySe-003-Se-WebDriver 启动浏览器之一 - Firefox 此文主要讲述在 Mac ...

  2. Web设计者和开发者必备的28个Chrome插件

    摘要 对于许多Web设计者和开发者来说,Firefox浏览器是无法超越的,对于其他人Chrome正在蚕食Firefox的浏览器市场. 在过去的两年,谷歌Chrome浏览器的发布以来,引起了人们激烈争论 ...

  3. js引入img标签和图片

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. svn使用dump和hotcopy进行脚本备份

    [root@svn shell]# cat repolist  dev-arcdev-bmdev-crmdev-paydev-pmdev-portaldev-riskhrproductqarep-op ...

  5. ApacheBench(ab)使用详解

    ab命令原理  Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力.  ab命令对发出负载的计算机要求很低,既不会占 ...

  6. SUSE Linux 防火墙设置

    1.vim /etc/sysconfig/SuSEfirewall2        #编辑防火墙设置 FW_SERVICES_EXT_TCP="22 5901"       #开启 ...

  7. Fluentd 例子

    0. 安装.启动 安装 curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh 更新:最近貌似会安装 ...

  8. cookie&session&servletContext

    一.cookie VS session 1)应用场景 cookie可以用于: 记录用户上次登录的时间 记住用户名和密码 session可以用于: 防止非法登录(即直接跳转到本来需登录验证方可登录的页面 ...

  9. iOS -Swift 3.0 -UILabel属性大全

    昨天研究了一下苹果近两年新出的Swift语言,感觉学起来并不是很吃力,毕竟自己有过Objective-C的语言功底,所以各方面的属性控件还是一眼就可以认出的,只是Swift的写法与Objective- ...

  10. jQuery中append()与appendto()用法分析

    本文实例分析了jquery中append()与appendto()的用法.分享给大家供大家参考.具体分析如下: 在jQuery的文档操作方法中,append()和appentto()方法执行的任务相同 ...