下载此文档

18防错.pptx


文档分类:研究报告 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍
课程主要内容防错的必要性、方法问题与习题第一部分 防错的必要性&(1)防错这里讨论的问题基本上是代码防错。防错实施者是编程人员,而非测试人员;防错意义提高产品质量减少(不是消灭)(2)提高开发效率通过防止错误的发生,减少检查排错的时间;一般来讲防错投入的费用要远远低于排错的投入(投入教育一元钱,远远胜过投入监狱10元钱。)一个错误不仅仅会给(产生这个问题的)开发者的工作增加阻碍,而且往往会导致整个团队工作的停滞;因此,错误的及早避免和发现(尽可能在开发时就避免),会对提高团队的开发效率产生积极意义,还会提高团队的开发士气。降低开发风险避免因质量问题带来的工期延期;避免项目成本超出预算;(1)你的代码有容错处理吗? intAAA(char*p) {charc; …. *p=c;…..}如果参数p传入是空指针,程序运行会崩溃。正确的处理应该是:intAAA(char*p) {charc; if(NULL==p) returnERR_NULL;…. *p=c; }(2)你的代码存在内存泄漏吗? char*    AllocStrFromHeap(int len)  {         if ( len <= 0 )  return NULL;          return ( char* ) malloc( len );  } 这是一个内存分配的子函数;这个函数本身没有过错,但在程序(不是本函数)退出前若不释放堆空间,就会造成内存泄漏。(3)不要忽略warning常见的warning包括:声明了未使用的变量;使用了隐晦声明的函数。(也许这个函数在别的C文件中,编译时会出现这种警告,你应该在使用前用extern关键字声明这个函数);没有转换一个指针。(例如malloc返回的指针是void的,你没有将之转成实际类型。在使用前明显地转换一下吧);类型向下转换。(例如:float f = ; 这种语句是会报警的,编译会告诉你正试图把一个double转成float,);......不管怎么说,编译器的Warning不要小视,其中可能为错误埋下了隐患。(4)避免别人使用自己的代码产生错误你的程序有注释吗? 养成写注释的习惯,这是每个程序员所必须做的工作。一个几千行的程序,居然没有一行注释,这就如同在没有路标的公路上驾车一样。 为了方便别人阅读,请清晰地为代码写上注释。——与人方便,自己也方便。(5)避免别人使用自己的代码产生错误程序对外接口函数有详细的说明?为了方便别人调用你的函数,避免错误,函数说明应该包括:函数的功能调用函数的时序:如有时序图最好,至少应该描述是同步还是异步函数的参数说明:是输入还是输出、有效输入范围等返回值的详细说明相关函数的其他说明

18防错 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数23
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小94 KB
  • 时间2019-05-11