上QQ阅读APP看书,第一时间看更新
3.3.6 接口错误
1.被调用模块接收到的形参(parameter)数量是否等于调用模块发送的实参(argument)数量?另外,顺序是否正确?
2.实参的属性(如数据类型和大小)是否与相应形参的属性相匹配?
3.实参的量纲是否与对应形参的量纲相匹配?举例来说,是否形参以度为单位而实参以弧度为单位?
4.此模块传递给彼模块的实参数量,是否等于彼模块期望的形参数量?
5.此模块传递给彼模块的实参的属性,是否与彼模块相应形参的属性相匹配?
6.此模块传递给彼模块的实参的量纲,是否与彼模块相应形参的量纲相匹配?
7.如果调用了内置函数,实参的数量、属性、顺序是否正确?
8.如果某个模块或类有多个入口点,是否引用了与当前入口点无关的形参?下面PL/1程序的第二个赋值语句就存在这种错误:
9.是否有子程序改变了某个原本仅为输入值的形参?
10.如果存在全局变量,在所有引用它们的模块中,它们的定义和属性是否相同?
11.常数是否以实参形式传递过?在一些用FORTRAN语言编写的程序中,诸如的语句是很危险的,因为如果子程序SUBX对其第二个形参进行赋值,常数3的值将会被改变。