- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 编程精粹--编写高质量C语言代码(4):为子系统设防(一)
通常,子系统都要对其实现细节进行隐藏,在进行细节隐藏的同时,子系统为用户提供了一些关键入口点。程序员 通过调用这些关键的入口点来实现与子系统的通信。因此如果在程序中使用这样的子系统并且在其调用点加上了调 试检查,那么不同花很大力气就可以进行许多错误检查。 当子系统编写完成后,要问自己:“程序员什么情况下会错误地使用这个子系统,在这个子系统中怎样才能自动检 查出这些问题?”
2014-05-20 21:09:59 3188 3
原创 编程精粹--编写高质量C语言代码(3):自己设计并使用断言(二)
接着上一遍文章>,继续学习如何自己设计并使用断言,来更加容易,更加不费力 地自动寻找出程序中的错误。 首先看一个简单的压缩还原程序
2014-05-16 18:53:33 1750
原创 编程精粹--编写高质量的C语言代码(2):自己设计并使用断言(一)
即使使用编译程序提供的所有警告设施,编译程序所发现的错误,也只是程序错误中的一小部分。例如 以下一行代码: strCopy=memecpy(malloc(length),str,length)); 当malloc 调用失败时,返回一个空指针,而memcpy如果没有处理空指针时,程序就会出现错误。编译程序是无法查出 这种或其他类似的错误。同样编译程序也无法查出算法的错误,
2014-05-13 20:18:38 1747
原创 编程精粹--编写高质量C语言代码(1):假想编译程序
编译程序仅仅能查找出程序的语法错误,而对于“数组越界访问”“对空指针解引用”等错误,编译程序是束手无策的。 同时我们知道测试人员所使用的黑箱测试方法所能做的只是往程序里填数据,并看它弹出什么。这就决定了 对程序错误的检测可能需要点运气。 假如编译程序能够检测出“数组越界访问”,“差一错误”等等错误,那么编写无错代码其实就要简答多了。 所以我们需要一个思维转变:
2014-05-09 19:25:48 2153
原创 编程精粹--编写高质量C语言代码(0):引言
准确地说,这本书的全名是> 直译也就是>,中文版一般被翻译为 C语言代码>>。 作者以自己在微软开发的经历,向我们讲解如何编写无错代码。只有对自己的程序非常自信,才敢说自己的代码是“Bug-Free”。 本书所介绍的诀窍是当发现错误时,就不断地就一以下两个问题追问自己的结果: 1,如何才能自动地查出这个错误? 2,怎样才能避免这个错误? 编译程序只能发现程
2014-05-07 22:19:58 1704 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人