我想知道哪种更有效PERFORM PARA1.
或PERFORM PARA1 THRU PARA1-EXIT.
PARA1.
XXXXXX.
PARA1-EXIT.
EXIT.
答案 0 :(得分:3)
大概对于PARA1-EXIT,它后面的代码不是真正的可执行代码。 (即,它类似于EXIT或CONTINUE。)而且,大概没有其他控制流到PARA1-EXIT(类似的PERFORM语句除外。)鉴于此,使用IBM Enterprise COBOL可以以任何一种方式进行编码并获得相同的性能。 。因此,您应该根据本地编码标准或清晰度对它进行编码。
答案 1 :(得分:2)
根据PERFORM THRU
的工作原理,您的第一个示例确实没有任何意义。
PERFORM X
将执行段落X,而PERFORM X THRU Z
将执行X和Z之间的所有内容。因此,如果我有以下内容
PERFORM X000 THRU Z000
X000.
some code
Y000.
more code
Z000.
even more code
将执行所有3段。因此,从概念上讲PERFORM X THRU X
毫无意义。它可能会编译(取决于编译器),但是在一天结束时,似乎您应该只使用PERFORM X
。在不完全知道您正在运行的编译器的情况下,我们不能真正确切地说出PERFORM X THRU X
会做什么,但是在逻辑上唯一有意义的是它与PERFORM X
是同义的。
我之前看到的代码中有PERFORM X THRU X-EXIT
,但是X-EXIT仅包含一个EXIT
语句。用这种方式对事物进行编码可能有历史原因,但我认为现代COBOL开发中没有任何理由。
强烈建议您不要使用PERFORM THRU
,因为如果有人在两段之间添加代码而没有注意到它是PERFORM THRU
,则会遇到问题。