zoukankan      html  css  js  c++  java
  • <读书笔记>软件调试之道 :实证方法

    有效调试不仅仅是排除缺陷,其包含如下几个步骤

    • 弄明白软件为何运行错误
    • 修复这个问题
    • 避免破坏其它部分
    • 保持或者提高代码的总体质量
    • 确保同样的问题不在其它地方发生,也不会再次发生

    构建实验、观察结果

    • 依赖观察和经验,而不是理论和纯逻辑推理
    • 阅读源码,推理软件的运行状况,通常效率低下而危险
    • 要仔细的构建实验环境并观察软件的运行状况

    需要澄清的几个问题

    你知道发生了什么吗?

    • 要明确知道到底发生了什么,什么情况下发生的。
    • 不要完全依赖缺陷报告,缺陷报告本身的错误也不会少
    • 如果没有缺陷报告,应该在了解整个程序后再进行工作

    一次一个问题

    • 调试一个缺陷已经困难了,因此不要同时改正几个,使情况更加复杂
    • 修复程序后,每做一次逻辑修改,就签入一次,如果一次多个修改,就很难实现
    • 有时你认为缺陷是某个原因引起的,实际上是多个原因引起的。

    先检查简单的事情

    • 很多缺陷是由于见到你的疏漏造成的,因此不要忽略简单的事情
    • 开发者应该避免NIH(Not Invented Here,非我发明症),认为自己必须亲自做一切事情,即使已经存在一个很好的解决办法
    • 问问团队中其它人员,是否遇到过类似问题,可以大大降低成本,节省精力
  • 相关阅读:
    git提交步骤
    封装ajax方法
    review的一个收获popstate,addEventListener:false ,split,jquery cache
    y=y||'world'与y=y?y:'world'
    toString()和toLocaleString()有什么区别
    0,null,undefined,[],{},'',false之间的关系
    小白封装小程序的公共方法时一些笔记
    小程序的一个tab切换
    MVC源码分析
    MVC源码解析
  • 原文地址:https://www.cnblogs.com/shuolang/p/5423693.html
Copyright © 2011-2022 走看看