代码之家  ›  专栏  ›  技术社区  ›  Radinator

在RPGLE中以D规格定义原型的优势

  •  0
  • Radinator  · 技术社区  · 7 年前

    我最近了解了一些关于固定格式RPG IV中的LOCAL过程及其定义的事情,要么是在D规范和P规范中的实现部分,要么是省略了D规范的定义。

    根据IBM文档,如果我省略了D中的定义,编译器将自动从过程接口生成必要的定义,然后是我实现过程的P规范。

    现在我想知道两次定义过程接口的好处是什么?编写(几乎)两次相同的代码(在P-Spec的顶部和下方的D-Spec中)有什么好处吗?或者这只是程序员的一个选项,可以在哪里定义过程的输入/输出参数?

    提前感谢

    1 回复  |  直到 7 年前
        1
  •  8
  •   jmarkmurphy    7 年前

    从IBM i v7.1开始,对于内部过程,创建原型没有任何好处,事实上,您有可能弄错它们(尽管这个问题很容易检测到并纠正)。在此之前,所有程序都需要一个原型。对于从服务程序或模块导出的过程,原型至关重要。我将它们保存在一个单独的副本中,以便在我的模块源代码和使用模块的程序源代码中包含相同的原型。通过这种方式,您只需要有一个浮动的原型副本,并且很容易将其包含在您需要的任何地方。