假设我们有一辆轿车 你如何命名两种不同车型的功能参数?
void Race(Car first, Car second);
或者
void Race(Car car1, Car car2);
与汽车和汽车列表作为参数的功能相同的情况 我习惯将“汽车”命名为汽车列表,因此使用以下名称是不方便的:
void Race(Car car, List<Car> cars);
有关姓名的任何建议吗?
答案 0 :(得分:4)
我个人选择代表汽车使用方式的名称。
在你的例子中,我可能只有void Race(IList<Car> cars)
,因为每辆车都是等价的。
如果总有两个相同的选项,使用firstCar和secondCar似乎是合理的。
但是,如果您正在做一些事情,比如将零件从一辆车移动到另一辆车,我会非常具有描述性,即:
static void StealParts(Car targetCar, Car sourceCar);
您在参数命名中的描述性越强,您的API就越容易使用。
答案 1 :(得分:1)
在函数参数中添加数字通常是一种不好的做法,因此我选择void Race(Car first, Car second);
关于你的第二个功能,我没有看到名为cars
的汽车列表出现任何问题,但我无法理解将单个汽车作为单独的参数传递的想法,所以我建议将其重命名为显示它与列表中的汽车有所不同,如果可以作为cars
列表的成员传递,则删除。
PS 只要您的IDE可以通过智能感知检索其类型,您就可以将cars
列表重命名为participants
或competitors
。
Upd。:基本上,如果需要,参数的名称应首先取决于函数的名称和第二个参数的类型。所以,我会选择Car GetSimilar(Car targetCar, IList<Car> cars)
。