ぼく用あれこれまとめ

命名規則

最終更新:

bokuyo

- view
管理者のみ編集可

命名規則

  • 「システムハンガリアン使いたくないけど、じゃあどんな名前の付け方をすればいいの?」
  • その疑問にぶつかったぼくのあれやこれやをだらだらまとめます。

システムハンガリアン?

  • システムハンガリアンのどこがデメリットなのか~ってことはここでは考察しない方針でいきます。
  • あくまでも、"ぼく"が書きやすく、見やすいソースを書くための命名規則なので絶対的なものじゃありません。
システムハンガリアン データの型を表すプリフィックスをつける命名法。
システムじゃないハンガリアン そのデータが何を表すのか、を意味する命名法。

ぼく用命名規則

だいたいの決まり。

  • ハンガリアン記法は使わない。
  • わかりやすい名前をつけよう。
FinalFantasy なるほど…!
× FF FinalFightなのかFinalFantasyなのかが曖昧
  • 省略形を使わないようにしよう。
  • 簡潔さよりも、わかりやすさを優先しよう。
  • いくらスコープがあるからって、有名な名前は使わないでね。
    • 対抗して「printf()」とか関数作っちゃだめよ。

大文字or小文字?

  • 次の3形式を用います。
形式名
Pascal形式 FinalFantasy
FFTactics
Camel形式 finalFantasy
ffTactics
全大文字形式 FINALFANTASY

"Ar-tonelico"の例。

  • "Ar-tonelico"のような複数の単語(ArとTonelico)の組み合わせで出来た単語(複合語)を例にとる。
    • "Artonelico"のように、1単語としてみなされるもの(閉じた単語)は
Pascal Camel
ArtonelicoTwo artonelicoTwo
× ArTonelicoTwo arTonelicoTwo
  • 複合語では「-(ハイフン)」や「_(アンダーバー)」を使うのは避ける。
    • 複合語のJoystickも閉じた単語とみなされるから、「Joystick」「joystick」のほうが適切かな?

対応表

識別子 形式
class名 Joystick
D3DManager
Pascal
インターフェイス名 ISoundManagaer プリフィックスI, Pascal
関数名 SetString() Pascal
パラメータ名(引数) bool Init(int windowSizeWidth) Camel
- - -


.NET Frameworkでは。



  • メソッド名には基本、動詞をつける。
  • 「定義の中で実際にどう動くのか」を示す動詞ではなく、使う人の立場で「使うとどうなるのか」を示す動詞をつける。
  • 自販機でいうと、「これを使うと中で状態遷移が行われてどうのこうの~」ではなく、「100円いれるとジュースが出てくる」でおっけー。
  • Set~, Get~, To~など?

めも。

  • iだのfだのpだのといったデータの型はIDE(VC++とか)でわかるから書かなくていいとして、メンバ変数に「m_」をつけるのはやめられなくない?
    • thisポインタ使えばどうでしょ?面倒?
  • アンダーバーから始まる変数名はつけるな。

参考文献

記事メニュー
目安箱バナー