随笔分类 -  C,C++语言

关于C语言的技术总结和学习笔记
摘要:概述 概述 1、本文档的内容主要来源于书籍《代码整洁之道》作者Robert C.Martin,属于读书笔记。 2、软件质量,不仅依赖于架构和项目管理,而且与代码质量紧密相关,本书提出一种,代码质量与整洁成正比的观点,并给出了一系列行之有效的整洁代码操作实践,只要遵循这些规则,就可以编写出整洁的代码, 阅读全文

posted @ 2016-07-31 08:36 shuolang 阅读(387) 评论(0) 推荐(0) |

摘要:声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载! 自动化测试 1.有效的自动化测试 明确说明测试结果是否通过 不需要安装、测试后也能够撤销对环境所做的任何修改 单击运行所有的测试 全面覆盖,做到足够解决完全覆盖是可能的 2. 自动化测试可以作 阅读全文

posted @ 2016-06-27 06:46 shuolang 阅读(182) 评论(0) 推荐(0) |

摘要:声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载! 缺陷优先 如何使缺陷修复与软件开发相结合? 如何估计缺陷修复花费的时间? 如何确保项目不会陷入《人月神话》中所描述的无数缺陷修复的焦油坑中呢? 要采用早起缺陷修复原则,并且基于以下两个原则 早 阅读全文

posted @ 2016-06-19 07:25 shuolang 阅读(205) 评论(0) 推荐(0) |

摘要:声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载! 缺陷可以随时发生,从代码编写完毕到代码发布后的成年累月! 无论你开发什么样的软件,都需要创建一些流程,通过这些流程,可以告诉你软件哪里出了问题,并且应该如何修复! 1、缺陷管理系统 既有简单用 阅读全文

posted @ 2016-06-08 08:19 shuolang 阅读(180) 评论(0) 推荐(0) |

摘要:声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载! 有时尽管修复设计的是一个孤立的代码区,但你还是需要大局观,在修复缺陷之后花时间反思一下! 一旦确定了错误的来源,就可以采取措施避免它再发生!有些情况下,只不过是告诉你未来在在这一方面要更加小心 阅读全文

posted @ 2016-06-04 07:57 shuolang 阅读(161) 评论(0) 推荐(0) |

摘要:声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载! 修复缺陷 对于一个好的修复来说,不仅仅是让软件运行正确,还需要为将来奠定基础。一些列零散的未经仔细考虑的修改,都将是原本的简洁设计逐步消失。 好的修复必须同时实现以下目标: 修复问题 避免引入 阅读全文

posted @ 2016-05-28 07:53 shuolang 阅读(271) 评论(0) 推荐(0) |

摘要:声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。 不要急于动手! 尽管可以利用各种工具和技术以及软件自身查找缺陷,但是你最重要的财富是你的智慧 一种调试方法 提出假设->设计实验->假设不成立,重新开始 采用不同类型的实验 进行几种不同类型的实验,但是 阅读全文

posted @ 2016-05-10 07:09 shuolang 阅读(195) 评论(0) 推荐(0) |

摘要:声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。 重现第一,提问第二 问题重现是实证过程的最强大武器,如果不能重现问题,你也无法证明修复了它 首先按照缺陷报告的描述的步骤来做, 抓住重点,包含三个控制因素 软件本身:确保你使用的软件版本和bug提交的版 阅读全文

posted @ 2016-04-28 06:47 shuolang 阅读(211) 评论(0) 推荐(0) |

摘要:有效调试不仅仅是排除缺陷,其包含如下几个步骤 弄明白软件为何运行错误 修复这个问题 避免破坏其它部分 保持或者提高代码的总体质量 确保同样的问题不在其它地方发生,也不会再次发生 构建实验、观察结果 依赖观察和经验,而不是理论和纯逻辑推理 阅读源码,推理软件的运行状况,通常效率低下而危险 要仔细的构建 阅读全文

posted @ 2016-04-23 07:42 shuolang 阅读(198) 评论(0) 推荐(0) |

摘要:1、查证问题确已被修复 如果遵循了“制造失败”这条规则,就知道如何验证你确实修复了问题。无论问题和修复看起来多么明显,你都无法保证修复是有效的,直到做了测试并验证。 2、查证确实你的修复措施解决了问题 如果你取消这个修复,系统再次出现失败,再应用这个修复,问题消失,才能够证明你确实修复了问题。这样做 阅读全文

posted @ 2016-04-12 06:43 shuolang 阅读(258) 评论(0) 推荐(0) |

摘要:1、征求别人意见 我们都是普通人,对任何事情都有偏见或者思维定式,包括对bug隐藏在哪里的看法,这些偏见会导致我们无法看清实际情况。其它人则从另一个角度看问题(可能也是他自己的偏见),但是会找到新的方法,对你解决问题有很大启发。 2、获取专业知识 有时系统的某个部分的知识看起来很神秘,我们不必到学校 阅读全文

posted @ 2016-04-09 07:21 shuolang 阅读(217) 评论(0) 推荐(0) |

摘要:1、质疑你的假设 你十分运行了正确的代码?电源插头是否已插好? 比如网络连接失败了,是不是你不小心把网线接头踢掉了?比如汽车无法启动,是否油箱没油了? 有时我们看到一个问题,通常在某个特定位置看到了正确的问题,但是导致这个问题的却在上游或者底层驱动上,只是系统不具备正确操作条件时,出现了奇怪的表现。 阅读全文

posted @ 2016-04-08 07:00 shuolang 阅读(154) 评论(0) 推荐(0) |

摘要:1、把你的操作、操作顺序和结果全部记录下来 要记录所做的事、做事的顺序、以及发生的结果,每次做完都要全部记录。就像调试硬件一样,必须指导每个步骤以及执行结果,才能确定下一步关注的重点。 2、要知道,任何细节都可能是重要的 有时bug报告可能就有一句简单的话,比如仪器显示出错了,或者仪器无法正常工作, 阅读全文

posted @ 2016-04-04 08:13 shuolang 阅读(208) 评论(0) 推荐(0) |

摘要:1、隔离关键元素 就像小学生物课,考察阳光对植物生长的影响,则需要保持养分、灌溉、生长温度等完全一致,一个有阳光照射,一个没有阳光照射,这样才能比较出阳光对植物的生产的影响.bug查找过程也要如此,在查找一个具有多个参数的函数的计算错误时,固定其它参数,同时修改一个参数的输入值,验证输出结果是否正确 阅读全文

posted @ 2016-03-30 06:54 shuolang 阅读(167) 评论(0) 推荐(0) |

摘要:1、通过逐次逼近缩小搜索范围 通过二分法,逐次缩小问题范围,在查找问题时,这个方法是唯一需要应用的规则,所有其它规则都是帮助你遵循这条规则。首先搜索前面1/2,如果有错,则再搜索前1/4,如果没错,则搜索范围就定在1/4-1/2之间,然后再次细分,几次之后就会找到问题。 实际案例:有次程序运行反应很 阅读全文

posted @ 2016-03-27 07:51 shuolang 阅读(164) 评论(0) 推荐(1) |

摘要:凭空想象,问题的原因很多,实际的原因只有看了才能发现! 如果猜测失败是如何发生的,那么常常会修复一些不是bug的问题,不仅浪费时间、还会破坏其它地方,因此不要这样做。 在医学领域,有听诊器、抽血化验、X透视、B超等方法。同样 在软件中,观察的方法有设置断点、添加调试语句、监视程序值、以及检查内存等方 阅读全文

posted @ 2016-03-21 07:16 shuolang 阅读(308) 评论(0) 推荐(0) |

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3