跌打滚爬中的小菜鸟...
分类: 系统运维
2012-10-31 19:41:04
一、注释
a) 用注释说明代码
b) 在Program或者Procedure开头添加Summary
c) 用注释将代码分块
二、声明
a) 程序中用到的所有的变量都在D表声明
b) DS定义时使用缩进
c) DS定义时使用Length Notation而不要用Positional Notation
三、命名惯例
a) 名字要有描述意义
b) 使用大小写区分单词分割
c) 尽量不使用特殊字符(@,#,$)
四、指示器
a) 尽量少使用指示器,尽量使用Build-in函数,如%EOF,%ERROR,%FOUND
b) 尽量用EVAL *INXX = *ON/*OFF代替SETON/SETOFF
c) 给指示器加个注释。。。
五、结构化编程技术
a) 不使用GOTO, CABxx, COMP
b) 不使用过时的IFxx, DOUxx, DOWxx, WHxx操作符
c) 多分支逻辑用SELECT WHEN OTHER ENDSL实现
d) ENDxx要成对出现
六、模块化编程技术
a) Use RPG IV’s prototyping capabilities to define parameters and procedure interfaces
b) Store prototypes in /COPY members
c) Use IMPORT and EXPORT only for global data items
七、字符串操作
a) 尽量将字符串放在常量中而不是Array或者Table中
b) 尽量避免使用Array和DS去操作字符串
c) 尽可能的使用EVAL操作字符串
八、不要退化!!!
a) 不要在1-5填写序号
b) 不要使用program-described File
c) 不要使用过时的操作符
d) 如果Build-in函数提供某一操作符的功能,那么尽量使用Build-in函数
e) 尽量使用CALLP来代替CALL和CALLB
九、其他
a) 在所有表中使用Keyword时尽量分行,一个Keyword写一行
十、建议
a) Make it right before you make it faster.
b) Keep it right when you make it faster.
c) Make it clear before you make it faster.
d) Do not sacrifice clarity for small gains in efficiency.
参考A Sorcerer’s Guide to System Access and More.pdf の
Chapter 2. Programming RPG IV with style