精通COBOL--11.1.1 提高代码可重用性
来源:互联网 发布:centos 双网卡驱动 编辑:程序博客网 时间:2024/06/10 03:35
对于某一部分功能代码,有时可能会在多个程序中被反复用到。此时,最好的方式便是将该功能代码编写为一个独立的子程序,通过子程序调用来对其进行使用。
例如,下面这两段程序都要到一个关于利率计算的功能段。假设利率为1.5,通过RATE变量表示,并假设第一段程序代码如下。
IDENTIFICATION DIVISION.
PROGRAM-ID TEST-PROG-ONE.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
01 RATE PIC S9V9.
01 ORIGIN-DATA1 PIC S9(5).
01 NEW-DATA1 PIC S9(5).
……
*
PROCEDURE DIVISION.
……
PERFORM 100-COMPUTE-RATE.
……
STOP RUN.
……
100-COMPUTE-RATE.
MOVE 1.5 TO RATE.
MULTIPLY ORIGIN-DATA1 BY RATE GIVING NEW-DATA1.
另一段程序代码如下。
IDENTIFICATION DIVISION.
PROGRAM-ID TEST-PROG-TWO.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
01 RATE PIC S9V9.
01 ORIGIN-DATA2 PIC S9(5).
01 NEW-DATA2 PIC S9(5).
……
*
PROCEDURE DIVISION.
……
PERFORM 100-COMPUTE-RATE.
……
STOP RUN.
……
100-COMPUTE-RATE.
MOVE 1.5 TO RATE.
MULTIPLY ORIGIN-DATA2 BY RATE GIVING NEW-DATA2.
通过比较以上两段程序可以发现,这两段程序中利率计算的功能段代码实际上是类似的。虽然以上两段程序都将该功能段代码写为了一个处理过程,便于程序内通过PERFORM语句调用。但是,若将这两段代码看作一个整体,仍然对利率计算的功能段代码进行了重复编写,不够简便。因此,考虑到子程序调用技术,可首先将利率计算的功能段代码编写为如下一个小的程序。
IDENTIFICATION DIVISION.
PROGRAM-ID SUBPROG.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
01 RATE PIC S9V9.
LINKAGE SECTION.
77 ORIGIN-DATA PIC S9(5).
77 NEW-DATA PIC S9(5).
*
PROCEDURE DIVISION USING ORIGIN-DATA NEW-DATA.
MOVE 1.5 TO RATE.
MULTIPLY ORIGIN-DATA BY RATE
GIVING NEW-DATA.
GOBACK.
此时,之前的两段程序便可通过子程序调用的方式重复实现利率计算的功能了。根据以上子程序,可将之前的第一段程序改写如下。
IDENTIFICATION DIVISION.
PROGRAM-ID TEST-PROG-ONE.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
77 ORIGIN-DATA1 PIC S9(5).
77 NEW-DATA1 PIC S9(5).
……
*
PROCEDURE DIVISION.
……
CALL ‘SUBPROG’ USING ORIGIN-DATA1
NEW-DATA1.
……
STOP RUN.
第二段程序相应的改写如下。
IDENTIFICATION DIVISION.
PROGRAM-ID TEST-PROG-TWO.
AUTHER XXX.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING STORAGE SECTION.
77 ORIGIN-DATA2 PIC S9(5).
77 NEW-DATA2 PIC S9(5).
……
*
PROCEDURE DIVISION.
……
CALL ‘SUBPROG’ USING ORIGIN-DATA2
NEW-DATA2.
……
STOP RUN.
可以看到,使用子程序调用后,以上两段程序中都不用重复编写利率计算这一功能段代码了。该功能是直接通过调用利率计算的子程序所实现的。实际上,基于子程序调用技术,此处实现的正是一次编码,多次使用。并且,当使用同一功能段代码的程序越多,采用子程序调用方式的优势就越明显。
- 精通COBOL--11.1.1 提高代码可重用性
- 精通COBOL--11.1.2 提高部分功能段执行效率
- 提高Java代码可重用性的三个措施
- 提高Java代码可重用性的三个措施
- 【转】提高Java代码可重用性的三个措施
- 提高Java代码可重用性的三个措施 【转】
- 最大限制地提高代码的可重用性
- 提高Java代码可重用性的三个措施
- JAVA进阶:提高代码可重用性的三个措施
- 提高Java代码可重用性的三个措施
- 提高java代码可重用性的三个有利措施
- 提高Java代码可重用性的三个措施
- (转载)如何提高Java代码可重用性
- 修改现有代码提高其可重用性
- 提高Java代码可重用性的三个措施
- 精通cobol--第9章 COBOL中的表
- 精通COBOL--11.1 子程序调用的作用
- 精通cobol--9.1.1 为什么要使用表
- EXCEL(VBA)~SQL 经典写法范本汇集
- 精通COBOL--第11章 子程序调用
- 三家店卖的是什么--读论语别裁
- 一种注入进程,获得完全操控的方法之二
- 精通COBOL--11.1 子程序调用的作用
- 精通COBOL--11.1.1 提高代码可重用性
- NT内核下的inline hook
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(1):前言
- Spring配置
- Linux下oracle设置开机自启动的方法
- 精通COBOL--11.1.2 提高部分功能段执行效率
- 精通COBOL--11.1.3 防止数据意外丢失或被更改
- Windows下如何彻底删除Oracle
- ORACLE常用傻瓜问题1000问全集(一)