2016-11-30 1 views
1

クラスの2番目のインスタンスの名前を付けるベストプラクティスは何ですか?たとえば、Employeeという名前のクラスの場合、employeeという名前の最初のインスタンスを作成します。最初のインスタンスがまだスコープに入っているときに、Employeeクラスの2番目のインスタンスに最適な名前は何ですか?最初のインスタンスがまだスコープ内にあるときにクラスの2番目のインスタンスの名前を付けるベストプラクティスは何ですか?

答えて

4

通常、答えはではありません。は、Employeeという変数を作成します。

配列:あなたは二人の従業員を扱っている場合は、のようなコレクションを使用

Employee[] employees = new Employee[2]; 

またはリスト:あなたが状況になっていない場合

List<Employee> employees = new List<Employee>(); 

はあなただけです他の変数(searchEmployeenewEmployeeemployeeToBeFiredなど)のように、コードのコンテキストで表現する変数に名前を付けるよりも、従業員のグループを扱います。

+0

より良いメソッドパラメータですか? 'bool(Employee employee1、Employee employee2)'を比較するか、 'bool比較(Employee firstEmployee、Employee secondEmployee)'または 'bool(Employee employee、Employee otherEmployee)を比較する 'メソッド –

+0

? Microsoftは 'objA'と' objB'を使用します。https://msdn.microsoft.com/en-us/library/system.object.referenceequals(v=vs.110).aspx – NPras

1

Employeeについて話しているので、クラスの名前はモデルのようです。モデルを使って作業しているとき、私はそのスコープ内の現在のデータ構造を表す新しいインスタンスの名前を与えています。

たとえば、新しいEmployeeを作成したい場合は、newEmployeeのようにインスタンス名をEmployeeとします。そのオブジェクトは作成されるEmployeeを表します。

EmployeeManager(いくつかの機能を実装しています)の場合は、他のコードとの一貫性を保つため、employeeManagerなどの名前を使用してください。また、同じマネージャクラスのインスタンスを1つのスコープに作成することはほとんどありません。

私はあなたに推薦しています:

  1. モデルを扱う場合、現在のスコープ内のデータの目的を説明するためのインスタンス名を使用します。例:newEmployee,suspendedEmployee,valuableEmployee
  2. サービスを扱うときは、アプリケーションのコードと一貫性を保つためのサービスを表す名前を使用してください。例:employeeRepositoryService
0

私は、従業員の種類や機能に関連するいくつかの単語を追加します。

var employee = new Employee(); 
var employeeManager = new Employee(); //If is the manager 
var employeeWithID = new Employee(); //If I use this to get the id 

それは1、2、3を追加しても大丈夫です...または最初、すべてはあなたに依存。

関連する問題