命名規則について
命名規則とは
プログラミングやデータベース設計、資材管理など様々な場面で用いられる「汎用的な名前のルール」です。
識別子としての役割を果たす文字列に決まりを設けて名前をつけるための方法です。
命名規則がなぜ重要なのか
命名規則を設けることには以下のようなメリットがあります。
可読性
プロジェクト内で定めた規則に従って名称を統一することで、作業が滞りなく進められます。
一貫性
ルールとして定めることで運用メンバーへの引き継ぎや、新規参画したプロジェクトメンバーのキャッチアップ時にも時短効果が期待できます。
生産性
命名規則を作成する目的とも言えるが、記載した名称から意味を認識できるようにすることで、他者や資料を探し確認する手間を省くことができるため生産性の向上につながります。
命名規則
- 識別IDの命名規則
- 形式:
XXX_id
- 説明: 主キーやエンティティの一意識別子に使用されることが多いです。
例えば、ユーザーを識別するIDはuser_id
とします。 - 具体例
- ユーザーID:
user_id
- 商品ID:
product_id
- 注文ID:
order_id
- ユーザーID:
- 形式:
- コードの命名規則
- 形式:
XXX_code
- 説明: コード(分類コードや状態コードなど)を表すフィールドに使用します。
通常、システム内で定義された数値や文字列が格納されます。 - 具体例
- 商品カテゴリーコード:
category_code
- ステータスコード:
status_code
- 郵便番号:
postal_code
- 商品カテゴリーコード:
- 形式:
- 名称の命名規則
- 形式:
XXX_name
- 説明: 名称やタイトルを表すフィールドに使用します。
ユーザーや商品、場所などの名前を格納するために使用します。 - 具体例
- ユーザー名:
user_name
- 商品名:
product_name
- 都道府県名:
prefecture_name
- ユーザー名:
- 形式:
- 日付・時刻の命名規則
- 形式:
XXX_date
やXXX_time
- 説明: 日付や時刻を格納するフィールドに使用します。
作成日や更新日時などを含めます。 - 具体例
- 作成日:
created_date
- 更新日:
updated_date
- 予約時間:
reservation_time
- 作成日:
- 形式:
- フラグの命名規則
- 形式:
is_XXX
,has_XXX
,XXX_flag
- 説明: 真偽値を持つフラグフィールドに使用します。
例えば、アクティブかどうか、承認済みかどうかなどを示します。 - 具体例
- アクティブフラグ:
is_active
- 削除フラグ:
delete_flag
- アクセス権フラグ: has_access
- アクティブフラグ:
- 形式:
- テーブル名の命名規則
- 形式:
複数形
- マスターテーブル:
mst_XXX
- トランザクションテーブル:
txn_XXX
- 関連テーブル:
rel_XXX
- 説明: 複数のマスターテーブルやトランザクションテーブルの間の関連を管理するテーブルには、接頭辞に
rel_
を付けます。- 具体例
- ユーザーとロールの関連テーブル:
rel_user_role
- 商品とカテゴリの関連テーブル:
rel_product_category
- ユーザーとロールの関連テーブル:
- 具体例
- 説明: 複数のマスターテーブルやトランザクションテーブルの間の関連を管理するテーブルには、接頭辞に
- 履歴テーブル:
hist_XXX
- ログテーブル:
log_XXX
- 一時テーブル:
tmp_XXX
- 形式:
- カラム名の命名規則
- 形式:
スネークケース
- 説明: カラム名は小文字のスネークケース(単語間をアンダースコアで区切る形式)を使用します。
エンティティ名と役割を明確にするための接頭辞を追加します。 - 具体例
- ユーザー名:
user_name
- 注文日:
order_date
- 在庫数:
stock_quantity
- ユーザー名:
- 形式:
- 画面IDの命名規則
- 形式:
XXX_画面機能
- 説明: 画面やページに識別用のIDを付与します。
機能ごとに接頭辞を統一することで、後で簡単に検索できるようにします。 - 具体例
- ユーザー管理画面:
USER_MGMT
- 商品登録画面:
PRODUCT_REG
- 注文確認画面:
ORDER_CONFIRM
- ユーザー管理画面:
- 形式:
- 帳票IDの命名規則
- 形式:
XXX_report
- 説明: 帳票の識別用IDには、帳票の内容や用途に応じた名前を付けます。
- 具体例
- 売上帳票:
sales_report
- 在庫帳票:
inventory_report
- ユーザーリスト帳票:
user_list_report
- 売上帳票:
- 形式: