1

クラス操作の命名にはどのような規則を使用していますか?

4

3 に答える 3

1

完全なドキュメント : C# コーディング標準とベスト プラクティスをダウンロード

命名規則と標準

注 : このドキュメントでは、Pascal Casing および Camel Casing という用語が使用されています。Pascal Cases - すべての単語の最初の文字は大文字で、その他の文字は小文字です。例: BackColor Camel Casing - 最初の単語を除くすべての単語の最初の文字は大文字で、その他の文字は小文字です。例: backColor

  1. クラス名に Pascal 大文字小文字を使用する

    パブリック クラス HelloWorld { ... }

  2. メソッド名に Pascal ケーシングを使用する

    void SayHello(文字列名) { ... }

  3. 変数とメソッド パラメーターに Camel ケーシングを使用する

    int totalCount = 0; void SayHello(string name) { string fullMessage = "Hello " + name; ... }

  4. インターフェイスの Camel Casing でプレフィックス「I」を使用します (例: IEntity )

  5. 変数の名前にハンガリー語表記を使用しないでください。

以前は、ほとんどのプログラマーがそれを気に入っていました。変数名のプレフィックスとしてデータ型を持ち、メンバー変数のプレフィックスとして m_ を使用していました。例えば:

文字列 m_sName; int nage;

ただし、.NET コーディング標準では、これは推奨されていません。メンバー変数を表すためのデータ型と m_ の使用は使用しないでください。すべての変数はキャメルケースを使用する必要があります。

メンバー変数を識別する簡単な方法が他にないため、メンバー変数を表すためにプレフィックス m_ を使用することを好むプログラマーもいます。

  1. 意味のある説明的な言葉を使用して、変数に名前を付けます。略語は使用しないでください。

良い:

string address
int salary 

良くない:

string nam
string addr
int sal 
  1. i、n、s などの 1 文字の変数名は使用しないでください。index、temp などの名前を使用してください。

この場合の 1 つの例外は、ループ内の反復に使用される変数です。

for ( int i = 0; i < count; i++ )
{
 ...
}

変数が繰り返しのカウンターとしてのみ使用され、ループ内の他の場所では使用されない場合、多くの人は、別の適切な名前を発明する代わりに、単一の char 変数 (i) を使用することを好みます。

  1. ローカル変数名にアンダースコア (_) を使用しないでください。

  2. すべてのメンバー変数には、他のローカル変数から識別できるように、アンダースコア (_) をプレフィックスとして付ける必要があります。

  3. キーワードに似た変数名は使用しないでください。

  4. ブール変数、プロパティ、およびメソッドの前に「is」または類似のプレフィックスを付けます。

例: private bool _isFinished

  1. 名前空間名は標準パターンに従う必要があります

...

  1. UI 要素に適切なプレフィックスを使用して、残りの変数から識別できるようにします。

ここで推奨される 2 つの異なるアプローチがあります。

を。すべての UI 要素に共通のプレフィックス ( ui_ ) を使用します。これにより、すべての UI 要素をグループ化し、IntelliSense からそれらすべてに簡単にアクセスできます。

b. 各 ui 要素に適切なプレフィックスを使用します。簡単なリストを以下に示します。.NET にはいくつかのコントロールが用意されているため、使用している各コントロール (サード パーティのコントロールを含む) の標準プレフィックスの完全なリストを作成する必要がある場合があります。

Control Prefix
Label lbl
TextBox txt
DataGrid dtg
Button btn
ImageButton imb
Hyperlink hlk
DropDownList ddl
ListBox lst
DataList dtl
Repeater rep
Checkbox chk
CheckBoxList cbl
RadioButton rdo
RadioButtonList rbl
Image img
Panel pnl
PlaceHolder phd
Table tbl
Validators val
  1. ファイル名はクラス名と一致する必要があります。

たとえば、クラス HelloWorld の場合、ファイル名は helloworld.cs (または helloworld.vb) にする必要があります。

  1. ファイル名には Pascal Case を使用します。

  2. インデントと間隔

  3. インデントには TAB を使用します。スペースは使用しないでください。タブのサイズを 4 に定義します。

  4. コメントは、コードと同じレベルにする必要があります (同じレベルのインデントを使用します)。

良い:

// Format a message and display

string fullMessage = "Hello " + name;
DateTime currentTime = DateTime.Now;
string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();
MessageBox.Show ( message );

良くない:

// Format a message and display
string fullMessage = "Hello " + name;
DateTime currentTime = DateTime.Now;
string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();
MessageBox.Show ( message );
  1. 中括弧 ( {} ) は、中括弧の外側のコードと同じレベルにある必要があります。

  2. コードの論理グループを区切るには、空白行を 1 行使用します。

良い:

 bool SayHello ( string name )
 {
  string fullMessage = "Hello " + name;
  DateTime currentTime = DateTime.Now;

  string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();

  MessageBox.Show ( message );

  if ( ... )
  {
   // Do something
   // ...

   return false;
  }

  return true;
 }

良くない:

bool SayHello (string name)
 {
  string fullMessage = "Hello " + name;
  DateTime currentTime = DateTime.Now;
  string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();
  MessageBox.Show ( message );
  if ( ... )
  {
   // Do something
   // ...
   return false;
  }
  return true;
 }
  1. クラス内の各メソッドの間には、空白行が 1 行だけ必要です。

  2. 中括弧は、if、for などと同じ行ではなく、別の行にある必要があります。

良い:

if ( ... ) 
  {
   // Do something
  }

良くない:

if ( ... ) {
   // Do something
  }
  1. 各演算子と括弧の前後に単一のスペースを使用します。

良い:

if ( showResult == true )
  {
   for ( int i = 0; i < 10; i++ )
   {
    //
   }
  }

良くない:

if(showResult==true)
  {
   for(int    i= 0;i<10;i++)
   {
    //
   }
  }
  1. #region を使用して、関連するコードをグループ化します。#region を使用して適切なグループ化を使用すると、すべての定義が折りたたまれたときにページはこのようになります。

  2. プライベート メンバー変数、プロパティ、およびメソッドをファイルの上部に保持し、パブリック メンバーを下部に保持します。

于 2011-01-19T06:58:57.750 に答える
1

作業している言語とフレームワークで使用されているのと同じ命名規則を使用することで、すべての人の生活が楽になることがわかりました。

たとえば、.Net には規則があります。あなたの言語が何をするかをモデル化すれば、あなたのコードとライブラリの「ユーザー」はより幸せになります。したがって、答えは、言語および/またはプラットフォームに依存する可能性があります...

于 2011-01-19T06:59:13.083 に答える
0

命名規則は恣意的な区別であるため、物議を醸すトピックです。

上記の2つの答えは良いものです。私の追加はこれです:

あなたの目標は読みやすさです。あなたのコードは物語を語っています。ストーリーが明確であることを確認してください。

さらにお楽しみの場合は、次のリンクを参照してください。

http://www.joelonsoftware.com/articles/Wrong.html

http://en.wikipedia.org/wiki/Naming_convention_%28プログラミング%29

于 2011-01-19T07:03:33.833 に答える