問題タブ [hungarian-notation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
1007 参照

c++ - 各関数によって提供される例外の安全性の保証をどのように追跡しますか?

例外安全なコードを記述する場合、呼び出されるすべての関数の例外安全性の保証 (none、basic、strong、または no-throw) を考慮する必要があります。コンパイラは何の助けにもならないので、ここでは関数の命名規則が役立つのではないかと考えていました。関数によって提供される例外の安全性保証のレベルを示す確立された表記基準はありますか? 私はハンガリーのようなものに沿って考えていました:

編集:この種の命名規則は醜いというコメントに同意するので、提案する理由を詳しく説明させてください.

一部のコードをリファクタリングし、そのプロセスで、関数によって提供される例外の安全性のレベルを変更するとします。保証が、たとえば強力なものから基本的なものに変更された場合 (おそらく速度の向上によって正当化されます)、リファクタリングされた関数を呼び出すすべての関数は、例外の安全性について再検討する必要があります。保証の変更によって関数名も変更された場合、コンパイラは、少なくとも変更された関数のすべての使用にフラグを立てることで、私を少し助けることができます。これは、問題のある上記の命名規則を提案する私の理論的根拠でした。これは const と非常によく似ています。関数の const 性を変更すると、他の呼び出し関数にカスケード効果が生じますが、その場合、コンパイラは非常に効果的な支援を提供します。

したがって、私の質問は、特にコードのメンテナンスとリファクタリング中に、コードが意図した例外保証を実際に満たすようにするために、人々がどのような作業習慣を開発してきたかということです。

0 投票する
0 に答える
270 参照

php - PHP stdClass の適切なハンガリー表記プレフィックスは何ですか?

あるとすれば、それです。

(nInteger、chChar、cCount、rgArray など。)

0 投票する
1 に答える
695 参照

intellij-idea - Intellij IDEA のハンガリー語表記

ハンガリー語表記 (およびシステム ハンガリー語) を使用するレガシー コードをメンテナンスする必要があります。残念ながら、コードベースからすべて削除するのは現実的ではありません。

地元の Eclipse ユーザーは、自動生成されたアクセサーなどでハンガリー語の接頭辞を無視するように Eclipse を構成できると主張しています (これが、彼らがハンガリー語の接頭辞を長い間使用してきた理由でしょう)。

IDEA 10.5 に同様の機能はありますか? 'find usages'm_sInstructionが getter であることを認識するのに十分スマートでgetInstruction()、'アクセサを検索しますか?' を教えてくれればいいのですが。たとえば、プロンプト、または「ゲッターとセッターを生成する」が、このクラスがすでにほとんどすべてのフィールドに対してゲッターとセッターを持っていることを伝えることができる場合。

0 投票する
2 に答える
2690 参照

language-agnostic - ハンガリー記法の反対?

ほとんどのプログラマーは「ハンガリアン記法」と呼ばれるものを知っています。各変数には、そのデータ型を示す適切な接頭辞があります。

このスタイルの表記法は支持されなくなりましたが、(職場やインターネットなどで) 多くのデータ型インジケーターが変数名に「接尾辞」として追加されているのを見ています。

データ型が変数名の末尾に付いている場合、これに名前はありますか?

編集:明確にするために...、そのようなものに明確な名前はありますか?そうでない場合は、それを何と呼ぶか​​についてのいくつかの簡潔なアイデアをいただければ幸いです。

0 投票する
2 に答える
1545 参照

java - ハンガリー スタイル メンバーの Eclipse でのゲッターとセッター

私が取り組んでいるプロジェクトでは、クラス メンバー変数にハンガリー語の表記を指定しています。例:String m_foo;

ゲッターとセッターを生成するときに、ハンガリー語のプレフィックスをEclipseストリップにすることは可能ですか? 私は Helios を使用しており、(驚くべきことではありませんが)getM_fooと を提案していますが、とsetM_fooが必要です。コード テンプレートは役に立たないようです。getFoosetFoo

0 投票する
2 に答える
684 参照

resharper - ReSharper 6 のカスタム命名スタイルをさらに作成する方法はありますか?

私のプロジェクトには、次のようなコーディング規則があります: ローカル変数 (メソッド内) の場合: [プレフィックス][変数名] の形式を使用します。

[プレフィックス] は、変数が Integer、Byte、String などのプリミティブ型の場合、データ型の最初の文字になります...

例:

この場合、Resharper がカスタム命名規則を作成する方法はありますか?

ありがとう。

0 投票する
5 に答える
1617 参照

c# - C# でハンガリー語のアプリ表記を使用する必要がありますか?

この質問が少し聞かれたことは知っていますが、見た目では、この質問に対する明確な「はい」または「いいえ」の答えはありませんが、それでも、何かについて少し混乱しています.

通常、私がプログラミングするときは、プレフィックスに関するいくつかの規則に従います。

  • m_メンバーの前で
  • プロパティの前の p_
  • s_ static の前
  • パラメータの前に a_
  • l_ ローカル変数の前

私は今、新しい仕事に就きましたが、コードで接頭辞が使用されていないことに気付きました。その理由を尋ねると、メンバー変数とローカル変数を追跡するすべての作業を IDE が行うとの回答がありました。今思うと、そうかもしれませんが、接頭辞の方が使いやすいのではないでしょうか?

たとえば、メンバー、静的、および「ロボット」という名前のローカル変数がある場合、メソッドを作成するときにそれを参照するのは面倒ではありませんか? これはおそらく非現実的な例ですが、非現実的な状況でも一貫して適用できる適切なルール セットを頭の中に入れておきたいと思っています。

この例は、ハンガリー語表記を使用することを正当化しますか?

長所/短所のリストを作成し、それについてさらに学びながら編集すると思います.

ハンガリー人に対する反論:

Class.RobotまたRobot

this.robot

robot

ハンガリー語は必要ありません。

カウンター:

まだ矛盾があります。ロボットは、さまざまな方法でさまざまなことを意味する可能性があります。一貫性を保つために、各 Robot 変数の前に Class または this のプレフィックスを付ける (または何も付けない) 必要があります。

その上、静的変数 Strawberry にアクセスしたいとしましょう。Strawberry という名前のメンバー変数が定義されていないことをどうやって知ることができるでしょうか? 見えない別のファイルで定義されている可能性があるため、予期しない結果が生じる可能性があります。これは IDE を介して表示されると言うかもしれませんが、IDE が伝えていることを見逃す可能性がある一方で、参照しているものを確認できるため、接頭辞を使用する方が優れていると私は主張します。もちろん this/Classname プレフィックスを使用することもできますが、そのようなものはハンガリー語表記を使用しないという目的を無効にします。

ハンガリー人に対する反論:

この規則違反は、フィールドと変数の命名にハンガリー語表記が使用されている場合に発生します。ハンガリー語表記の使用は C++ コードで広く普及していますが、C# の傾向は、変数の型に基づくのではなく、変数の使用目的を説明する、より長く、よりわかりやすい変数名を使用することです。

カウンター:

私が言及した接頭辞は、変数の型に基づくものではありません。実際、接頭辞は、変数が何に使用されるかを指定します。

ハンガリー人に対する反論:

Visual Studio などの最新のコード エディターを使用すると、変数またはフィールドの型情報を簡単に識別できます。通常は、マウス カーソルを変数名の上に移動します。これにより、ハンガリー語表記の必要性が軽減されます。

カウンター:

これは事実ですが、私自身は、エラーが発生しない限り、変数名の上にマウスを置いたことはほとんどありません。対照的に、ハンガリー語表記では、変数がクラス内のどこにあるかがすぐにわかります。

述べる:

Microsoft は、ファイル名にハンガリー語表記を使用することを推奨していませんか? インターフェイス ファイルの前に I を付けるのが慣習であると読みました。これはハンガリー語表記の形式です。これは上記の私の質問とは直接関係ありませんが、ハンガリー語表記が推奨される場合があるという点を提起しています。

0 投票する
1 に答える
293 参照

asp.net - ハンガリー語表記に従って VB.NET の命名スタイルを検証するツール

VB.NET で記述された従来の ASP.NET Web サイトを維持しています。顧客は、変数などを宣言するためにハンガリー語表記を使用するように強制します。

例えば:

この命名スタイルに違反しているコードを特定するのに役立つ FxCop、StyleCop、ReSharper などのツールはありますか?

0 投票する
0 に答える
497 参照

hungarian-notation - 古い学校のハンガリー語表記「mz」プレフィックス

時々、古い API を掘り下げる必要があり、API 呼び出しの "mz" プレフィックスを持つ関数を実行し続けます。(例、次のような関数mzListDocuments()

この「mz」がこの文脈で何を表しているのか興味があります。メンバー オブジェクトの "m_" などの古いハンガリー語表記のアイデアは知っていますが、Google は "mz" プレフィックスで失敗しています。

最初は、ソフトウェア ベンダーの社内標準だと思っていましたが、複数のベンダーで見たことがあるので、かつては非常に一般的だったのか、それとも推奨される標準だったのか疑問に思っています。

すべてのベンダーを思い出すことはできませんが、現在、ドキュメント スキャン システムの API でこれを確認しています。API は古く、DCOM を使用し、関数はすべて整数データ型を返します。ソフトウェアは c++ で書かれています。

API は、VBScript、VB、または .NET から呼び出されることを意図しています。mz 接頭辞はすべての関数名の前にあり、定数はすべて "MZ_" で始まります (例: "MZ_FORMATPDF" および "MZ_FORMATMSWORD")。

コンテキストに基づいて言えることは、「mz」プレフィックスは「API メンバーを使用している」ことを意味するということだけです。

これは無意味かもしれませんし、生産的になるためにこれに対する答えを知る必要があるわけではありません。これは何よりも好奇心の問題です。

0 投票する
3 に答える
266 参照

fortran - Fortran のハンガリー語表記法

それは良い習慣か悪い習慣か?私の友人は、一般的に言えば、最近ではほとんどの言語で良い習慣とは見なされていませんが、fortran ではそうではないことを聞いたと思ったと言っていました。これは本当ですか?それが本当なら、なぜですか?