2009年10月15日木曜日

昔やったPL/SQL案件での命名規則とお約束事項メモ

共通ルール
 ■名前をつける時は、名前をつけようとするものの役割が分かるようなものにすること。
 ※意味が分からない名前は禁止。但しループカウンタに使用するi、j、kは例外
 ex.str1,data…etc.
 ■名前は日本語のローマ字表記を使用すること。但し、英語が一般的なものは英語を使うこと。
 ex.住所…jusho、コード…code、マスタ…master
 ■単語と単語を接続する場合は、後ろの単語の先頭の文字を大文字にする。
 ex.住所コード…jushoCode
 例外.定数
 ■変数のプレフィックスは任意
 例外.カーソル、レコードセット、ロータイプ
 ■変数名は30バイト以内とする。
 ※オラクル10gの限界!!
 ■パッケージを使用しカプセル化する事
 意味のわからない人はコードを書くな!!勉強して理解したうえでコードを書こう!!
 □Oracleの予約語については全て大文字とする(但し、テーブル名や項目名等は除く)
 ex.SELECT、FROM、WHERE、UPDATE、GROUP BY、AS
 □タブインデントをつける(1タブ=半角スペース4つ)
 □例外処理を必ず実装
 □「SELECT * ~」を使用せず、必ず取得項目を列挙すること
  例)×:SELECT * FROM hoge;
       ○:SELECT ho, ge FROM hoge;
 □INSERT文で列の指定を省略しない
  例)×:INSERT INTO hoge (123, 'あいう');
    ○:INSERT INTO hoge (ho, ge) VALUES (123, 'あいう');
 □WHERE句の左辺に関数を使用しない
  例)×:SELECT ge FROM hoge WHERE TO_CHAR(ho) = '123' ;
    ○:SELECT ge FROM hoge WHERE ho = TO_NUMBER('123') ;

定数
 ■定数はすべて大文字とし、単語と単語を接続する場合は_を使用する。

ファンクション、カーソル、レコードセット
 □ファンクションやカーソルやレコードセットの先頭はタイプが分かりやすいようにタイプを設定する。
 ex.ファンクション:Func_[ファンクション名]
    プロシージャ :Proc_[プロシージャ名]
    パッケージ  :Pkg_[パッケージ名]
    カーソル   :cur_[カーソル名]
    レコードセット:rs_[レコードセット名]
    ロータイプ  :rec_[ロータイプ名]
※ 上の3つはやらなくても良い気が・・・

パッケージ作成単位
 □原則、機能仕様書の1シートにつき1パッケージ、1ファイルとする。
 例)機能仕様書:機能仕様書_経費データ管理.xls
  ○シート  :業務量データ属性編集 
   パッケージ: Pkg_Gyoumuryou_Zokusei
   ファイル : Pkg_Gyoumuryou_Zokusei.sql

  ○シート  :業務量データ集約
   パッケージ: Pkg_Gyoumuryou_Shuyaku
   ファイル : Pkg_Gyoumuryou_Shuyaku.sql

            ・
            ・
             
  ※ただし、複数人による同一パッケージの開発が発生する場合には
   この限りではない。(作業のしやすさを優先って感じで)


コメント
 ストアドコメントは以下のように記述する。
-- ------+---------:---------+---------+---------+---------+---------+---------+
-- System          : 原価計算システム
-- Name            : [ストアド物理名]
-- Description     : [ストアド論理名]
-- Author          : ○○○太郎 [作成日]
-- Update          : ○○○太郎 [修正日]
-- Argument Input  : [入力パラメータ名] - [概要]
--                 : [入力パラメータ名] - [概要]
-- Return          : [戻り値]
-- ------+---------:---------+---------+---------+---------+---------+---------+

 ファンクションコメントは以下のように記述する。

-- ------+---------:---------+---------+---------+---------+---------+---------+
-- Description     : [ファンクション物理名]
-- Outline         : [ファンクション論理名]
-- Argument Input  : [入力パラメータ名] - [概要]
--                 : [入力パラメータ名] - [概要]
-- Argument Output : [出力パラメータ名] - [概要]
-- Return          : [戻り値]
-- ------+---------:---------+---------+---------+---------+---------+---------+


 ステートメントコメントは以下のように記述する。
 -- 1行の説明

 ex.
 -- カーソルのオープン(期間資源データテーブルの更新)
 OPEN cur_ckeihi_data;

0 件のコメント:

コメントを投稿