>-
條款五十,避免 hard-codeed FOR loop 的上下邊界值。
像是下面這段程式 hard-coded 了 FOR loop 的上下邊界值,這樣的撰寫預期上下邊界值是不會被變動的,且後續再看這段程式可能也會不理解為何上下邊界值會帶這樣的值,程式的維護性上會比較差。
BEGIN
<<for_loop>>
FOR i IN 1..5
LOOP
sys.dbms_output.put_line(i);
END LOOP for_loop;
END;
比較好的做法是不要將上下邊界值 hard-coded,可能用常數設定其值,並給予較具意義的常數名稱,讓程式的可讀性與可維護性更好。
DECLARE
co_lower_bound CONSTANT SIMPLE_INTEGER := 1;
co_upper_bound CONSTANT SIMPLE_INTEGER := 5;
BEGIN
<<for_loop>>
FOR i IN co_lower_bound..co_upper_bound
LOOP
sys.dbms_output.put_line(i);
END LOOP for_loop;
END;