C# での命名ガイドライン
-
18-09-2019 - |
質問
このクラスがあります:
class DoSomething
{
private int timesDone;
...
}
変数「timesDone」に名前を付ける正しい方法はどれですか?
という名前を時々見かけますが、 m_回完了. 。これは正しいです?命名ガイドラインに関する情報はどこで入手できますか?
ありがとう!
解決
MS の標準によれば、コードは問題ありません。高度な IDE を使用している場合、プレフィックスを m_ にする必要はありません。ただし、次のような短いプレフィックス _ オートコンプリート機能を利用して、クラスのメンバーをすばやく分類するために使用できます。
「」のコピーを入手することをお勧めします。フレームワーク設計ガイドライン:再利用可能な .NET ライブラリの慣例、イディオム、およびパターン「MS 規格について詳しく学ぶための本」
他のヒント
普遍的な正しい方法はありません。好みの命名規則を選択し、それをそのまま使用してください。
m_timesDone は絶対に使用しないでください。
単純に「private inttimesDone」と入力します。
変数に名前を付ける方法については、Code Complete などの優れた本を読むことで学ぶことができます。
多くの人があなたと同じようにしています。次に、それを次のように参照します
this.timesDone = someInt
ただし、私はメソッドのパラメータ名の衝突を避けるために「this」と入力するのが好きではないので、これは好きではありません。読みやすく一貫性があれば問題ありません。
メンバーフィールドの先頭に m_ を付ける慣例は、C++ の初期の時代から来ています。 ハンガリー語表記 人気がありました。これは C# の規約ではなく、ほとんどの C# コードは最新の Visual Studio を使用して記述されているため、変数のスコープを簡単に確認できるため、対応する利点がなく視覚的なノイズが追加されます。m_ は使用しないでください。
C# に導入されたハンガリー語表記の唯一の例は、IDisposable など、インターフェイス クラス名の前に I を付ける習慣です。
いくつかの情報は MSDN サイトで直接見つけることができます。http://msdn.microsoft.com/en-us/library/ms229002.aspx
あなたが見つける唯一の合意点は、次のことです。 ない ただし、小文字で始める必要があります。
古い出版物 (MS、MSDN) では、先頭にアンダースコアを使用することは推奨されていません。その後、特にプロパティのバッキングフィールドに戻ってきました。_timesDown。
通常採用される戦略は次のとおりです。
のために クラス & 方法: パスカルケーシング
例えば
public class Program
{
}
例えば
public void DoSomething() { }
のために 変数: キャメルケーシング 例えばタイムズダウン
ローカル変数:
aTimesDown
グローバル変数:
myTimesDown
これがあなたのお役に立てれば幸いです:)