我正在看一个RPG计划。有一些像这样的子程序:有没有工具 哪个会创建一个程序,可以在单独的过程中使用?
C Eval FinQty# = 0
C Eval OdCom# = OhCom#
C Eval OdOrd# = OhOrd#
C OdKey Setll OeOrd1
C OdKey Reade OeOrd1
C Dow %eof = *off
*
C If OdPrt# = OdAls# and
c %subst(odprt#:1:3) <> 'FRT'
C Eval FinQty# += OdQty#
C Endif
*
C OdKey Reade OeOrd1
C Enddo
*
答案 0 :(得分:7)
是的,有工具。我不会用它们。
可以说,子过程的主要好处是局部变量和参数化接口。没有自动化工具能够梳理出界面,并确定哪些全局变量应该被制作成局部变量是一项艰巨的任务。
对于我的钱,所有自动化工具都将把语法从EXSR转换为CALLP。 'subprocedure'仍在使用全局变量,界面仍然对程序员隐藏。有什么意义?
答案 1 :(得分:1)
是
我特别喜欢Linoma的RPG向导 http://www.linomasoftware.com/products/rpgtoolbox/rpgwizard
Arcad有另一个工具,但它有更多的功能,更多的是$$$。 http://www.arcadsoftware.com/products/arcad-transformer-ibm-i-refactoring-tools/
请注意,Linoma会将语法从内部子程序转换为内部程序;但它是一个从外部移动程序的手动过程。
我认为Arcard的工具集可以构建外部程序。