第五篇:达到目标必经的路 之三 |
|
|
使用断言
断言是一个在假设不正确时会大声抗议的函数或宏指令。可以使用断言来验证在程序中作出的假设并排除意外情况。一个断言函数往往大致带有两个内容:假设为真时的布尔表达式和一个为假时要打印出来的信息。以下是一个假定变量Denominator不为零时一个Pascal断言:
Assert ( Denominator<>0,'Denominator is unexpectedlg equal to 0.' );
这个断言假定Denominator 不等于”0”,第一部分Denominator<>0 是一个布尔表达式,其结果为True或False。第二部分是当第一部分的结果为False肘,将要打印出来的信息。即使不愿让用户在最终软件中看到断言信息,在开发和维护阶段,使用断言还是非常方便的。在开发阶段,断言可以消除相互矛盾的假设,消除传入于程序的不良数值等等。在维护,可以表明改动是否影响到了程序其它部分。
事实上,断言这项技术已经是在各处被使用了,在Windows平台的Visual C++的环境下已经为开发者预先做好了很多的断言,做为一个开发者所要做的事情仅仅只需要去调用它而已;当然,Linux下的开发者就没有这么幸运,但是如果你要使用他的话并不是一件困难的事情,做为范例,你可以在Linux的源码中找到相关的资料,相关的资料还包括了下文将要提到的预处理等技术。
断言过程是非常容易写的,下面就是一个用Pascal写成的例子:
Procedure Assert
(
Aseertionn: boolean;
Message : string
);
begin
if( not Assertion)
begin
writeln(Messase);
writeln('stopping the program.');
halt(FATAL ERROR)
end
end;
一旦写好了这样一个过程,就可 < 1 > < 2 > |
|
|
在百度搜索:第五篇:达到目标必经的路 之三
|