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

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

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

    构建实验、观察结果

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

    需要澄清的几个问题

    你知道发生了什么吗?

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

    一次一个问题

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

    先检查简单的事情

    • 很多缺陷是由于见到你的疏漏造成的,因此不要忽略简单的事情
    • 开发者应该避免NIH(Not Invented Here,非我发明症),认为自己必须亲自做一切事情,即使已经存在一个很好的解决办法
    • 问问团队中其它人员,是否遇到过类似问题,可以大大降低成本,节省精力
  • 相关阅读:
    Linux下升级gcc版本(9.1.0版本)
    Linux/CentOS系统同步网络时间的2种方法详解
    为什么使用promise
    总结js深拷贝和浅拷贝
    js闭包理解
    select框实现多选的功能
    动态添加element-ui组件
    总结鼠标移入移出事件
    echarts提示框太长,导致显示不全 ,撑大div框的问题
    vue项目中管理定时器
  • 原文地址:https://www.cnblogs.com/shuolang/p/5423693.html
Copyright © 2011-2022 走看看