私はこのクラスを持っています:
class DoSomething
{
private int timesDone;
...
}
名前付き変数「timesDone」の正しい方法はどれですか?
ときどきm_timesDoneという名前を見かけます。これは正しいです?命名ガイドラインに関する情報はどこにありますか?
ありがとうございました!
私はこのクラスを持っています:
class DoSomething
{
private int timesDone;
...
}
名前付き変数「timesDone」の正しい方法はどれですか?
ときどきm_timesDoneという名前を見かけます。これは正しいです?命名ガイドラインに関する情報はどこにありますか?
ありがとうございました!
普遍的な正しい方法はありません。好みの命名規則を選択し、それに従ってください。
m_timesDone は絶対に使用しないでください。
単純に「private int timesDone」と入力します。
Code Complete などの優れた本を読むと、変数に名前を付ける方法を学ぶことができます。
MS 標準によれば、コードは問題ありません。高度な IDE を使用している場合、プレフィックスを m_ にする必要はありません。ただし、_のような短い接頭辞を使用すると、オートコンプリート機能を利用して、クラス メンバーをすばやく並べ替えることができます。
MS 標準の詳細については、「 Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries 」の本を入手することをお勧めします。
メンバ フィールドの先頭に m_ を付ける規則は、ハンガリー語表記が一般的だった C++ の初期に由来します。これは C# の規則ではなく、ほとんどの C# コードは最近の Visual Studio を使用して記述されているため、変数のスコープを簡単に確認できるため、視覚的なノイズが追加され、それに対応する利点はありません。m_ は使用しないでください。
C# に取り入れられたハンガリー語表記の唯一の例は、IDisposable など、インターフェイス クラス名の前に I を付ける慣行です。
多くの人があなたがそこに持っているようにします。次に、それを次のように参照します
this.timesDone = someInt
ただし、メソッドのパラメーター名との衝突を避けるために「this」と入力するのが好きではないので、これは好きではありません。読みやすく、一貫性がある限り、問題ありません。
一部の情報は、MSDN サイト ( http://msdn.microsoft.com/en-us/library/ms229002.aspx ) で直接見つけることができます。
唯一の一致点は、 TimesDown ではなく、小文字で開始する必要があるということです。
古い出版物 (MS、MSDN) では、先頭にアンダースコアを使用することは推奨されていません。後で、特にプロパティのバッキングフィールド: _timesDown のために戻ってきました。
通常採用される戦略は次のとおりです。
クラスとメソッドの場合:パスカルケーシング
例えば
public class Program
{
}
例えば
public void DoSomething() { }
変数の場合:キャメルケース(例:timesDown)
ローカル変数:
aTimesDown
グローバル変数:
myTimesDown
これがお役に立てば幸いです:)