当第一个实例仍在范围内时,命名 class 的第二个实例的最佳做法是什么?

What is the best practice to name the second instance of a class when the first instance is still in scope?

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

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

一个数组:

Employee[] employees = new Employee[2];

或列表:

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

如果您不是处在只与一群员工打交道的情况下,那么就像任何其他变量一样,为变量命名它在代码上下文中所代表的名称(searchEmployeenewEmployee, employeeToBeFired, 等等).

你的名字 class 看起来像模特,因为你说的是​​ Employee。当我使用模型时,我会为代表该范围内当前数据结构的新实例命名。

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

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

我向你推荐:

  1. 处理模型时,使用描述当前范围内数据用途的实例名称。示例:newEmployeesuspendedEmployeevaluableEmployee.
  2. 在处理服务时,使用描述服务的名称以与应用程序中的代码保持一致。示例: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... 或首先,一切都取决于您。