gpt4 book ai didi

c# - 对方法调用和方法签名参数使用相同的变量名是一种好习惯吗?

转载 作者:行者123 更新时间:2023-11-30 18:51:49 25 4
gpt4 key购买 nike

例如:

int a;
int b;

int value = getValue(a,b);


private int getValue(int a, int b)
{

int value = a+b;
return value;

}

以上是实用的还是被认为是不好的做法并且会在以后的开发中引起问题。

最佳答案

我知道这是一个人为的例子来证明你的要求,但你的例子确实包含一个命名问题,我会指出这一点:

int a; // <---- right here
int b; // <---- and here

int value = getValue(a,b); // <--- and a little here

private int getValue(int a, int b)
{
int value = a+b;
return value;
}

问题 不在于变量名是否匹配或不匹配它们在方法中调用的名称。 问题 是变量名称没有被称为任何有意义的东西。这比您要问的问题要严重得多。

让我们重构您的方法,使示例稍微不那么做作...

int a;
int b;

int value = GetSum(a,b);

private int GetSum(int firstValue, int secondValue)
{
return firstValue + secondValue;
}

该方法现在更简洁,更直观地反射(reflect)了它的目的。现在我们重新提出问题... ab 是否应该重命名以匹配方法中的那些?

很可能不会。方法中的名称已更改以指示其上下文。该方法获取两个值的总和,第一个值和第二个值。那么ab的上下文是什么?他们也只被称为第一和第二吗?或者它们是否传达了一些不容易获得的其他含义?像这样的东西:

int milesToFirstDestination;
int milesToSecondDestination;

或:

int heightOfPersonInInches;
int heightOfStepstoolInInches;

或出于某种目的需要相加的两个值的任何其他示例。如果我们将该上下文添加到变量名中,那么我们肯定不想将它添加到方法中。该方法应尽可能通用,执行单个任务而无需担心该任务之外的任何问题。

简而言之,这既不是好事也不是坏事,因为它根本不需要考虑。有时可能只是巧合,名称相同。 (例如,这经常发生在私有(private)辅助方法中。)但它们与要遵循的标准或实践的结果不同,而是巧合地具有相同含义的结果。

关于c# - 对方法调用和方法签名参数使用相同的变量名是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8946204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com