関数・変数などのネーミング基本ルール

カテゴリ

CtrFirm/CtrBrom の関数はその分野に応じてカテゴリとよばれる分類がされておりネーミングでもそれがわかるように配慮されています。

カテゴリ
アルファベットの大文字が2つ以上続いたもの(グラフィクスのみ数字も併用)
[A-Z][A-Z0-9]+
os OS システムに関するもの
gx グラフィクスに関するもの(例外的に数字が含まれる)
mi DMA などメモリのやり取りに関するもの
svc システムコールに関するもの

(08/12/15)

関数

関数のネーミングは以下のようになっています。[動詞] や[目的語] は単語毎に先頭一文字を大文字にしてアンダースコアなしに連結します。

公開関数(API)
[カテゴリ名] [動詞] [目的語など][ターゲット種別(専用APIとする場合)]
例 osSetInterruptMaskFIRM
非公開関数
i_ [カテゴリ名] [動詞] [目的語など][ターゲット種別(専用APIとする場合)]
例 i_osSetInterruptMaskBaseBROM
static 関数
自由に

ただし慣習としてこのルールに則さないものも一部あります。(osInterruptHandler とか)

(08/12/15)

オブジェクトを生成初期化する関数の名称を決めるときに Create を使う場合と Init を使う場合の2つの方法が考えられます。この場合は明示的に廃棄のための関数呼び出しを行なわねば成らない場合は Create を使用し、廃棄処理を行なう必要のない場合は Init を使用するという使い分けをしてください。

(08/12/15)

変数型名

typedef でのネーミングは基本的にはGAMECUBEを踏襲しているので関数と形態が同じになっています。カテゴリ名の後が[動詞]ではないということなどで見分ける必要があります。

変数型名
[カテゴリ名] [名詞]
例 OSInterruptCallback
変数名
[カテゴリ名] [名詞]
例 osMode

(08/12/15)

列挙名・マクロ名

enum, define, const で定義される定数は以下のような形式となります。

定数名
[カテゴリ名] _ [A-Z0-9_]+
例 OS_INTERRUPT_MAX, OS_INTERRUPT_MAX

(08/12/15)