命名規約

naming-convention.png

まとめmiffy ルール

私の好きなルールをまとめます。

  • クラスは大文字始まり
  • 変数はアンダースコアでつなげる小文字
  • 関数名はキャメルケース。動詞で始まる。小文字で始まる
  • 引数の最初に_アンダースコアをつける
  • 配列を示す変数は複数形にする。numsとか。

配列にarrayを示すaをつけるという話もあるけど、英語の複数形を使えばわかるから、そんなダサいことする必要はない。

変数編

ハンガリー記法(Hungarian Notation)
ポーランド記法じゃないよ。ポーランド記法は計算の表現法だよ。
小文字の接頭辞に大文字の変数名を続けるのが普通。(キャメルケース[4]というらしい)
例:strString
とか。
でも、私はそれは面倒くさいから
接頭辞アンダーバー変数名
にしようかなと思ってる。
定数は大文字で書き、意味はアンダーバーで区切る(スネークケースという)
THIS_IS_CONSTANT_VALUE
ってな感じでね。

クラス名

最初に大文字のCをつけるのはあんまり好きじゃない。
最初で大文字で始まるのがクラスだって言うのは当たり前のこと。
インタっフェースにIをつけるのはいいと思う。

  • templateクラスであれば、小文字の名前でよい。

優先順位

変数のスコープ_(アンダーバー)型とかの接頭辞 変数名

読む側(API読むとき)

自分では使わないけど、APIとかで出てきて意味のわからないもの

header header
_something 予約語
__something 予約語
ALLCAPITAL マクロ
l long
sz 0で終わる文字列
bName(int _arg) 返り値にbyteを返す
us unsafe string[3]
fp floating point
db double
数字 大抵何ビットなのかを表現している
ar array

変数のスコープ

スコープ系の接頭辞はg_とかアンダーバーをつけるのが一般的のようだ。

接頭辞 スコープ
g グローバル
m クラスや構造体のmember
s static

m_とする代わりに、this->を書く、という手もあるよね。
私は、xやyみたいなあまりにも自明なメンバにはなにもつけたくない。
Eclipseではメンバ変数をハイライトしてるからmなんて書く必要ないかな。

対応表(型で決まる接頭辞)

記法 変数
p ポインタ
st 構造体
n 整数
f,d 浮動小数点
str 文字列
c char
b バイト or boolean
cell-content cell-content
cell-content cell-content

サポートサイト Wikidot.com