delphi - 自動生成 - 戻り値 変数名




変数の命名規則に名前が付いていますか? (4)

だから私はこのDelphiの命名スキームをAで始まり、クラスvarsはFで始まり、ローカルvarsはMで始まります。そのスキームには名前がありますか? 私はそれについてもっと詳しく知りたいと思っていますが、Delphiのソースで何が呼ばれているのか分かりません。


あなたのスキーマは何らかの形のハンガリー表記 (HN)と見なすことができます。 通常、HNは変数のを表すために使用されますが、Wikipediaの注記のとおり、

表記法は、変数のスコープを含むようにC ++で拡張され、アンダースコアで区切られることがあります。 この拡張は、ハンガリーの型指定なしでもよく使われます:[..]


あなたの命名規則はハンガリー表記と実際には一致しませんが、 Apps Hungarianとして知られるようになったCharles Simonyiによって考案された元のハンガリー表記に近いことが少しあります。 しかし、それほどではない。

実際にハンガリー表記には2種類あります。

  • Appsハンガリー語 - アイデアは識別子の名前を格納する意味情報に基づいて飾ることだったので、基本的に変数の目的は次のとおりです。
    rwElement - variable represents a row ("rw")
    colElement - variable represents a columns ("col")
  • Systems Hungarian - 接頭辞は変数の実際のデータ型をエンコードします。
    szName - variable is a zero-terminated string ("sz")
    lAccount - variable is a long integer ("l")

したがって、あなたが規約を命名するのはある意味で目的を表していますが、実際にはApps Hungarianが参照する目的ではありません。


あなたの名前はハンガリーの表記法 (一般的に普遍的ではありませんが、名前に接頭辞が付いているという意味で)という一般的な命名規則に従っていますが、規約にはそれ以上の具体的な名前はありません。

私は前にプレフィックスのあなたの特定の選択肢を見たことがない。 私が見た中で最も近いのは、引数としてAを、フィールドにFを、グローバルに対してGを、ローカルのLを、そしてもちろんレコードとクラスのインターフェースとTのための普通のIを使ったIndyのコンベンションだと思います。 プロパティとサブルーチンは接頭辞を持たない。


このコーディングスタイルは、特に、 オブジェクトパスカルスタイルガイドでハンガリー表記ではないものとして呼び出されています(ただし、 列挙型は例外です)。

あなたが話している具体的なコーディング規則は、私が知る限り、CodeGear(旧Borland)のコーディングスタイルガイドに準拠したコードを記述しているということだけです。 ガイドはスタイルに名前をつけていないようです。

このガイドはDelphiチームが開発したコーディングスタイルに基づいているため、Delphiソースで多くのことがわかります。

このドキュメントは、コードガイドラインだけでなく、それが言及している他のもののための関心からも読む価値があります。





naming-conventions