C# 当第一个实例仍在作用域中时,命名类的第二个实例的最佳实践是什么?

C# 当第一个实例仍在作用域中时,命名类的第二个实例的最佳实践是什么?,c#,naming-conventions,C#,Naming Conventions,命名类的第二个实例的最佳实践是什么?例如,对于名为Employee的类,我创建了名为Employee的第一个实例。当第一个实例仍在范围内时,Employee类的第二个实例的最佳名称是什么?通常,答案是不创建第二个Employee变量。如果您与两名员工打交道,请使用以下集合: 数组: Employee[] employees = new Employee[2]; 或列表: List<Employee> employees = new List<Employee>();

命名类的第二个实例的最佳实践是什么?例如,对于名为Employee的类,我创建了名为Employee的第一个实例。当第一个实例仍在范围内时,Employee类的第二个实例的最佳名称是什么?

通常,答案是不创建第二个
Employee
变量。如果您与两名员工打交道,请使用以下集合:

数组:

Employee[] employees = new Employee[2];
或列表:

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

如果您没有遇到只与一组员工打交道的情况,请将变量命名为它在代码上下文中表示的内容,就像任何其他变量一样(
searchEmployee
newEmployee
EmployeeToBefied
,等等).

您的班级名称看起来像模型,因为您正在谈论的是员工。当我使用模型时,我会为新实例命名,这些实例代表该范围内的当前数据结构

例如,如果我想创建新员工,我会将
Employee
的实例命名为:newEmployee。该对象表示将创建的员工

如果我有
EmployeeManager
(实现一些功能),我宁愿使用
EmployeeManager
这样的名称,因为我希望与其他代码保持一致。同样,在一个范围内创建同一管理器类的实例也很少见

我向你推荐:

  • 在处理模型时,请使用实例名称来描述当前范围内数据的用途。例如:
    newEmployee
    suspendedEmployee
    valuablemployee
  • 在处理服务时,请使用描述服务的名称,以便与应用程序中的代码保持一致。示例:
    employeeRepositoryService

  • 我添加了员工类型或与功能相关的单词:

    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。。。或者首先,一切取决于您。

    如果是方法参数,哪一个更好?`方法中的bool Compare(雇员雇员1,雇员雇员2)`或'bool Compare(雇员第一名雇员,雇员第二名雇员)`或'bool Compare(雇员雇员,雇员其他雇员)`?Microsoft使用
    objA
    objB