我已经多次看到以下段落命名结构:
nnnn-PARAGRAPH-NAME.
哪里
nnnn
代表一个 4 位数字。这是一个完整的例子:
0000-MAINLINE.
PERFORM 1000-INITIALIZE-THE-PROGRAM.
PERFORM 2000-PROCESS-1-BILLING-RECORD
UNTIL 88-100-ALL-RECORDS-PROCESSED.
PERFORM 3000-TERMINATE-THE-PROGRAM.
GOBACK.
1000-INITIALIZE-THE-PROGRAM.
PERFORM 1100-VALIDATE-CONTROL-CARD.
PERFORM 1200-OPEN-THE-FILES.
PERFORM 8000-GET-NEXT-BILLING-RECORD.
1100-VALIDATE-CONTROL-CARD.
PERFORM 1110-READ-CONTROL-CARD.
PERFORM 1120-EDIT-CONTROL-CARD.
1110-READ-CONTROL-CARD.
PERFORM 9000-ABEND-THE-PROGRAM. *> IF A READ ERROR OCCURRED
1120-EDIT-CONTROL-CARD.
PERFORM 9000-ABEND-THE-PROGRAM *> IF AN EDIT ERROR OCCURRED
1200-OPEN-THE-FILES.
PERFORM 9000-ABEND-THE-PROGRAM *> IF AN OPEN ERROR OCCURRED
2000-PROCESS-1-BILLING-RECORD.
PERFORM 2100-CALCULATE-BILLABLE-AMT.
PERFORM 2200-PRINT-BILLING-REPORT.
PERFORM 8000-GET-NEXT-BILLING-RECORD.
2200-PRINT-BILLING-REPORT.
PERFORM 2210-PRINT-REPORT-HEADER. *> WHEN IT'S NEEDED
3000-TERMINATE-THE-PROGRAM.
PERFORM 3100-CLOSE-THE-FILES.
PERFORM 3200-DISPLAY-FINAL-MESSAGES.
8000-GET-NEXT-BILLING-RECORD.
PERFORM 9000-ABEND-THE-PROGRAM. *> IF A READ ERROR OCCURRED
9000-ABEND-THE-PROGRAM.
因此,我的问题如下:
最佳答案
解释
数字告诉您程序结构。在这个程序中:
所以程序调用结构是
0000-
+---------------------------+------------------------------+
1000- 2000- 3000-
+--------+------+ +------+------+ +-------+-------+
1100- 1200- 2100- 2200- 3100- 3200-
etc...
具体问题
其他要点
一旦你习惯了编号系统,它会让你更容易理解程序。不同的网站有不同的做法,有些网站也可能使用字母/代替数字,例如
Perform A000-Initialise
Perform B000-Main
Perform C000-Finalise
A000-Initialise.
Perform A100-...
etc
在任何一个站点,他们将在所有(或大多数程序)中使用相同的编号标准。
网站可能会为特定目的保留第一个数字/字母。如果使用 A000-、B000- 格式,这种情况更为常见。您可能会使用 回复... 用于文件读取 W... 用于文件写入 S... 用于 SQL 调用等。
编号系统造就生命 更容易 为 经验丰富 程序员。用其他语言工作过,应该使用 Cobol 以外的其他程序语言。
关于optimization - COBOL 段落编号背后的逻辑是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50405821/