【读书笔记】代码大全23章:调试
来源:互联网 发布:windows xp升级win7 编辑:程序博客网 时间:2024/05/17 00:56
- 调试的基本问题
- BUG就是缺陷、错误、谬误
- 调试不能提高软件质量
- 调试速度差异
- 好的程序员和差的程序员速度能相差20倍
- 将缺陷看成机遇
- 调试的时候能让你了解整个程序
- 让你知道你犯下的是哪种错误
- 让你知道别人眼中的代码质量是怎样的
- 让你知道你是如何解决问题的
- 让你指导你是如何修复缺陷的
- 总之调试能让你进步
- 低效的调试方法
- Devil的调试建议(低效)
- 猜测缺陷的位置
- 不花时间完全理解问题,只是找到了缺陷
- 只是修复个别情况。例如:x=Compute(y);if(y==17)x=25.15;
- 迷信方法
- 出现缺陷往往都是自己在程序上犯下的错误,而不是数据库或者编译器的错误
- Devil的调试建议(低效)
- 找出错误
- 科学调试方法
- 通过重复实验收集数据
- 通过数据作出假设
- 设计实验证明假设
- 证明假设
- 必要的话重复步骤
- 高效调试方法
- 稳定缺陷
- 定位缺陷
- 修复缺陷
- 测试修复情况
- 找出相似的错误
- 暴力调试
- 重新设计有错误的那部分代码
- 抛弃一部分代码重写
- 抛弃整个程序重写
- 编译程序时输出所有的调试信息
- 修复所有警告
- 分离单元测试,把代码移到隔离环境中测试
- 创建自动化测试,并且让它运行整个晚上
- 单步调试大循环
- 程序中插入print输出调试信息
- 用另一个编译器编译
- 换一个环境运行程序
- 完全模拟出出错机器的环境
- 细分集成测试
- 语法错误
- 借助编译器和IDE,这种错误已经快灭绝了
- 科学调试方法
- 修复错误
- 修复前首先要理解缺陷
- 理解整个程序,而不仅仅是问题
- 确认缺陷诊断无误
- 放轻松
- 修复问题,不是修复问题的症状
- 这种修复通常情况下是没有用的
- 这种修复无法维护
- 在修改代码之前,首先要确认这种修复办法可行
- 一次只修改一个地方
- 修复完毕之后检查一遍
- 修复完毕之后检查整个程序
- 添加一个关于这个缺陷的单元测试
- 查找相似的错误
- 调试心理学
- 心理距离,例如stoppt和stcppt很相似
- 调试工具
- 源码比较工具:diff
- 编译器警告信息
- 语法检测工具和逻辑检查工具:lint
- 性能分析工具:也能找出bug
- 测试框架
- 调试器
0 0
- 【读书笔记】代码大全23章:调试
- 《代码大全》读书笔记--调试
- 【代码大全】第23章 调试
- 代码大全 第十章 读书笔记(1)
- 【读书笔记】代码大全21章:团队编程
- 【读书笔记】代码大全22章:开发者测试
- 【读书笔记】代码大全24章:重构
- 【读书笔记】代码大全28章:项目管理
- 【读书笔记】代码大全29章:集成
- 【读书笔记】代码大全30章:开发工具
- 《代码大全》读书笔记-1
- 《代码大全》读书笔记一
- 《代码大全》读书笔记I
- 《代码大全》读书笔记一
- 《代码大全》读书笔记
- 《代码大全》读书笔记上篇
- 代码大全--子程序 读书笔记
- 代码大全2读书笔记
- 数据库
- STl总体概念二
- 透彻了解 inline的里里外外 绝不是那么简单
- 深入详解标准C语言 IO
- 互联网俨然已成为广告的时代,无处不在,无孔不入
- 【读书笔记】代码大全23章:调试
- 埃及分数——迭代加深搜索
- android开发环境搭建
- 【转】MySQL体系结构
- 01-16:SQLite使用方法
- java自学之路-----构造函数以及static的简单用法
- Add Two Numbers (c++)
- Scala入门
- 基于Hadoop2.2.0版本分布式云盘的设计与实现