Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Language agnostic 具有相同类型的多个对象的名称_Language Agnostic_Naming Conventions - Fatal编程技术网

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函数可能不是最好的选择。您可以想象一个函数,该函数返回列表中最相似的汽车,与作为第一个参数传递的汽车相似。