3

私はこのクラスを持っています:

class DoSomething
{
    private int timesDone;
    ...
}

名前付き変数「timesDone」の正しい方法はどれですか?

ときどきm_timesDoneという名前を見かけます。これは正しいです?命名ガイドラインに関する情報はどこにありますか?

ありがとうございました!

4

8 に答える 8

5

普遍的な正しい方法はありません。好みの命名規則を選択し、それに従ってください。

于 2009-09-27T07:15:08.643 に答える
4

m_timesDone は絶対に使用しないでください。

単純に「private int timesDone」と入力します。

Code Complete などの優れた本を読むと、変数に名前を付ける方法を学ぶことができます。

于 2009-09-27T08:09:00.320 に答える
4

MS 標準によれば、コードは問題ありません。高度な IDE を使用している場合、プレフィックスを m_ にする必要はありません。ただし、_のような短い接頭辞を使用すると、オートコンプリート機能を利用して、クラス メンバーをすばやく並べ替えることができます。

MS 標準の詳細については、「 Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries 」の本を入手することをお勧めします。

于 2009-09-27T07:19:36.590 に答える
3

メンバ フィールドの先頭に m_ を付ける規則は、ハンガリー語表記が一般的だった C++ の初期に由来します。これは C# の規則ではなく、ほとんどの C# コードは最近の Visual Studio を使用して記述されているため、変数のスコープを簡単に確認できるため、視覚的なノイズが追加され、それに対応する利点はありません。m_ は使用しないでください。

C# に取り入れられたハンガリー語表記の唯一の例は、IDisposable など、インターフェイス クラス名の前に I を付ける慣行です。

于 2009-09-27T08:21:39.760 に答える
3

多くの人があなたがそこに持っているようにします。次に、それを次のように参照します

this.timesDone = someInt

ただし、メソッドのパラメーター名との衝突を避けるために「this」と入力するのが好きではないので、これは好きではありません。読みやすく、一貫性がある限り、問題ありません。

于 2009-09-27T07:16:02.420 に答える
2

一部の情報は、MSDN サイト ( http://msdn.microsoft.com/en-us/library/ms229002.aspx ) で直接見つけることができます。

于 2009-09-27T07:14:45.667 に答える
1

唯一の一致点は、 TimesDown ではなく、小文字で開始する必要があるということです。
古い出版物 (MS、MSDN) では、先頭にアンダースコアを使用することは推奨されていません。後で、特にプロパティのバッキングフィールド: _timesDown のために戻ってきました。

于 2009-09-27T08:42:22.367 に答える
0

通常採用される戦略は次のとおりです。

クラスメソッドの場合:パスカルケーシング

例えば

public class Program
 {
 }

例えば

public void DoSomething() { } 

変数の場合:キャメルケース(例:timesDown)

ローカル変数:

   aTimesDown

グローバル変数:

myTimesDown

これがお役に立てば幸いです:)

于 2009-09-27T08:55:46.743 に答える