コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

変数名などにm_やg_を付ける意図

久しぶりに見たけどこの文化体系どこだっけ…という話。

変数の命名規則として

変数名で以下のような名付けをすることがある

g_position
m_location

これの棲み分けは

  • g_ と付ける場合はグローバル変数の意味でg
  • m_ と付ける場合はメンバ変数の意味でm

元ネタ

この命名記法自体には名前があり、ハンガリアン記法という。詳しくは下記Wikipedia参照。

ハンガリアン記法 - Wikipedia

活きる場面と今

IDEがそこまで補足してくれなかったり、1つのクラスが大きい時代としては、変数のアクセス領域を名前から判断する上では大変有用だった気がします。

ただ今だとアクセス範囲を狭めたりする場面のほうが多く、また言語によっては明示的に公開範囲を絞れるので、かえって冗長になるプレフィックスかもしれません。

参考リンク