Language agnostic 具有相同类型的多个对象的名称
假设我们有一辆高级轿车。Language agnostic 具有相同类型的多个对象的名称,language-agnostic,naming-conventions,Language Agnostic,Naming Conventions,假设我们有一辆高级轿车。 您如何命名使用两辆不同汽车的函数参数 void Race(Car first, Car second); 或许 void Race(Car car1, Car car2); 将汽车和汽车列表作为参数的函数的情况相同。 我习惯于为汽车列表命名“汽车”,因此使用以下名称很不方便: void Race(Car car, List<Car> cars); void Race(小汽车、列表车); 关于名称有什么建议吗?在函数参数中添加数字通常是一种不好的做法,
您如何命名使用两辆不同汽车的函数参数
void Race(Car first, Car second);
或许
void Race(Car car1, Car car2);
将汽车和汽车列表作为参数的函数的情况相同。我习惯于为汽车列表命名“汽车”,因此使用以下名称很不方便:
void Race(Car car, List<Car> cars);
void Race(小汽车、列表车);
关于名称有什么建议吗?在函数参数中添加数字通常是一种不好的做法,因此我会选择void Race(Car first,Car second)代码> 关于第二个函数,我看不出名为
cars
的汽车列表有任何问题,但我无法理解将一辆汽车作为单独的参数传递的想法,因此我建议将其重命名以显示其与列表中汽车的不同,或者如果它可以作为cars
列表的成员传递,则将其删除
p.S.只要IDE的intellisense能够检索到汽车的类型,您当然可以将汽车
列表重命名为参与者
或竞争对手
Upd.:基本上,参数的名称应该首先取决于函数的名称,然后取决于参数的类型(如果需要)。因此,我选择了cargetsimilor(cartargetcar,IList cars)
我个人选择了代表汽车使用方式的名称
在您的示例中,我可能会使用无效赛车(IList赛车)
,因为每辆车都是等效的
如果总是有两个相同的选择,使用firstCar和secondCar似乎是合理的
但是,如果你在做一些事情,比如将零件从一辆车移动到另一辆车,我会非常有描述性,即:
static void StealParts(Car targetCar, Car sourceCar);
参数命名越具描述性,API就越容易使用。对于第二个问题,race函数可能不是最好的选择。您可以想象一个函数,该函数返回列表中最相似的汽车,与作为第一个参数传递的汽车相似。