一、 排版规范
1. 排版规则
源代码采用统一的编写风格,使结构清晰,代码简洁、易于阅读。
1.1. 缩进规则
l 源程序采用缩进风格编写,缩进的空格数为2个或4个。
l 在源代码中不使用TAB键,因为TAB键的占位宽度与编辑器相关。
l 过程与函数的开始、循环、判断、结构体定义等语句中的代码采用缩进风格。
l 同层代码相对与上一层等量地缩进。
例1、
for i in 1..7 loop --第一级嵌套
... --第一级代码
for j in 1..i loop --第二级嵌套
... --代码1
... --代码2
end loop;
end loop;
例2、
type rec_cs_region_co is record(
exam_grade region_code_tbl.exam_grade%type,--考核级别
region_co number, --地区系数
achieve_std number --标准举绩
);
l SELECT、UPDATE、INSERT等语句的编写采用适当的换行和缩进,以保证语句层次清晰、排版简洁。
示例:
cursor c_staff_info is
select emp_name, --员工姓名
deptno --员工所在部门代码
from staff_info
where empno = p_empno
and role_type = p_role_type;
1.2. 页面排版规则
l 源代码每行原则上限制在80个字符以内(含空格),超过则折行书写。
说明:
(1) 长表达式在低优先级操作符处折行,操作符(含数学与逻辑操作符)放在次行之首;带有“,”的语句在“,”后折行。
(2) 次行须适当缩进(两倍缩进量或更多),使排版整齐。
(3) 源代码注释应控制在易阅读屏幕区内。
示例:如下例子没有在低优先级操作符处分行,不符合规范
v_sum := v_price1 * v_count1 + v_price2
* v_count2 + v_price3 * v_count3;
如下例子将操作符放在行尾,不符合规范
v_sum := v_price1 * v_count1 + v_price2 * v_count2 +
v_price3 * v_count3;
应按如下书写
v_sum := v_price1 * v_count1 + v_price2 * v_count2
+ v_price3 * v_count3;
或者,为了使排版更加整洁,可将续行操作符后的变量和常量和第一行赋值操作符后的变量或常量对齐,如:
v_sum := v_price1 * v_count1 + v_price2 * v_count2
+ v_price3 * v_count3;
l 循环、判断等语句中若存在较长表达式,须适时折行。规则同上。
示例:
if v_pay_to_date > v_max_pay_to_date
and v_pay_to_date is not null then
... --代码
end if;
l 相对独立的代码块之间空行。
示例:如下例子代码较紧凑,不方便阅读。
if (v_err_code is not null) then
… --代码
end if;
v_tmp := 1 ;
应按如下书写:
if (v_err_code is not null) then
… --代码
end if;
v_tmp := 1 ;
l 在多个变量、常量进行运算或比较操作时,通常操作符前后空格。
l 复杂、过长的运算,通常使用括号、折行处理。
l 运算过程清晰、简单时,不要求空格。
2. 排版建议
l 常量采用大写。
l 无其它规定的代码采用小写。小写易于阅读,符合日常书写习惯。
l 不同类型的操作符混合使用时,即使优先级与实际需要相符,最好也使用括号隔离之,以便代码更加清晰。
l 源代码中关系较为紧密的代码块应尽可能相邻,便于阅读和查找。
l 不使用难懂的技巧性很高的语句,除非很有必要时。高技巧语句不等于高效率的程序,程序的效率关键在于算法。
l 代码的顺序安排应符合日常逻辑习惯,便于理解。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3618/viewspace-1032896/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/3618/viewspace-1032896/