2016-05-20 20 views
1

私は意見を探しているわけではありませんが、可能な限り実際の文書化された情報源または参考文献です。プライベート変数のフィールドを作成C#とVBクラスのプライベート変数の命名規則と "_"文字

  • :(?MSDNから好ましくは何か)

.NETでクラスを作成し、私は従う基本的な構造は、の線に沿って行きます。

  • get/setを使用してクラスプロパティを定義します。
  • コンストラクタの作成。
  • データベース機能のクラスメソッドを追加する。
  • その他の機能

    private string _myString; 
    

    私は現在、私のプライベート変数名方法::

    private string iMyString; 
    

    を私はプライベートのために、「_」文字を使用していることを告げてきた私は、私のプライベート変数に名前を付けるために使用される方法

  • 変数の宣言はマイナスの影響を与えます。私は "i"文字を使用するように練習を変更しました。これらの宣言に同じ文字を使用すると、クラスプロパティの作成速度が向上し、全体的な開発時間が短縮されます。

    私の質問はクラスのプライベート変数の命名構造の業界標準は何ですか? AND、なぜ "_"文字を悪い練習とみなしているのですか?

    私はかなり多くのGoogle検索を行いました。また、MSDNのWebサイトでも、例は定期的に変更されており、一貫性がなくなっています。

    これは問題ごとに考えられているかどうかはわかりませんが、品質の高いコードを書く傾向があります。 .NET foundation coding style guidelinesから

    +6

    [標準についての素晴らしいことは、あなたがたくさん選ぶことができるということです]](https://en.wikiquote.org/wiki/Andrew_S._Tanenbaum) - 業界標準はありません。意見のみ...アンダースコアを使った "否定的な影響"には何がありますか?私はいつもそれらを使います。 –

    +0

    私が知る限り、アンダースコアの使用には害はありません。あなたがやることよりも重要なことは、あなたの一連の標準が一貫した方法で使われていることを確認することです。 – juharr

    +1

    Auto Implementedプロパティを使用する場合、プロパティのバッキングフィールドとgetter/setterは不要になりました。コンパイラはあなたのために暗黙の '_propName'変数を提供します(先頭の' _'はそれも*たぶんひどいです)。 VBとC#以降は発散する。 VBでは暗黙のフィールドにどこでもアクセスできますが、C#では非表示になっています。 BTW [それ自体](https://en.wikipedia。org/wiki/Per_se) – Plutonix

    答えて

    2

    私たちは、内部のプライベートフィールドに_camelCaseを使用してreadonly可能な場合に使用します。プレフィックスインスタンスフィールドは_、静的フィールドはs_、スレッド静的フィールドはt_です。

    関連する問題