2016-11-30 6 views
1

Какова наилучшая практика для обозначения второго экземпляра класса? Например, для класса с именем Employee я создаю первый экземпляр с именем employee. Каким будет лучшее имя для второго экземпляра класса Employee, когда первый экземпляр все еще находится в области видимости?Какова наилучшая практика для обозначения второго экземпляра класса, когда первый экземпляр все еще находится в области видимости?

ответ

4

Обычно ответ не создать вторую переменную Employee. Если вы имеете дело с двумя сотрудниками, использовать коллекции, как:

Массив:

Employee[] employees = new Employee[2]; 

Или список:

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

Если вы не в ситуации, когда вы просто имея дело с группой сотрудников, чем имя переменной, которую она представляет в контексте кода, как и любая другая переменная (searchEmployee, newEmployee, employeeToBeFired и т. д.).

+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, который будет создан.

В случае, если у меня есть EmployeeManager (реализует некоторые функции), чем я предпочитаю использовать имя типа employeeManager, потому что я хочу сохранить совместимость с другим кодом. Также будет редко случаем создавать экземпляры одного и того же класса менеджера в одной области.

Я рекомендую вам:

  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 ... или первое, все зависит от вас.