3

我喜欢给我的变量、方法和对象起描述性的名字。显然不会过火,但让我举几个例子。

public class Account
{
    public decimal Balance { get; set; }
}

Account account = new Account();
account.Balance = 1000;

有些人会选择以下内容,这对我来说真的没有意义,除非你是一个懒惰的打字员。

Account acc = new Account();
acc.Balance = 1000;

问题是当你有这些缩写的逻辑时。你对正在发生的事情感到非常困惑。

想象以下物体。

public class Account { public DebitOrder DebitOrder { get; set; } }
public class DebitOrder { BankDetail BankDetail { get; set; } }
public class BankDetail {}

Account acc = new Account();
DebitOrder do = new DebitOrder();
BankDetail bd = new BankDetail();

if(acc.DebitOrder.SomeProperty == do.SomeProperty)
{

}

可读性一落千丈。总是有智能感知的论点,只是将鼠标悬停在你的变量上,看看它们是什么类型,或者它们是什么。可读的代码,使代码易于理解。

命名约定是否会产生更好的可维护代码?

4

3 回答 3

4

的,当然命名约定使代码更易于维护。

这就是为什么,在你上编程课的第一天,如果你调用一个变量 x,或者我...

您必须记住,变量/方法/类等的名称纯粹是为程序员准备的,因为在编译时这些只是内存地址。

您必须尝试在可读性、自我解释的命名约定、良好的注释和结构良好的代码之间取得良好的平衡,以制作更好的可维护代码。

于 2010-10-14T05:43:22.370 回答
3

是的,对于没有非常有限范围的任何变量。

当变量的范围非常有限,并且代码围绕该变量运行时,您可以使用一次性变量名。

例如,如果循环体很小并且计数器没有中继有任何其他含义,则循环中的计数器可以有一个简单的名称:

for (int i = 0; i < 10; i++) arr[i] = 0;

使用短名称可以使 Lambda 表达式更具可读性:

var items = source.Select(n => n.ToString() + ".");

但是,当使用短名称时,不要尝试缩写某些东西。如果单个字母或众所周知的缩写不能做到这一点,您也可以选择更长的名称。

例如,n在上面的 lambda 表达式中使用数值就可以了。使用更长的仍然是缩写的东西,例如itnumitmid使名称携带更多信息,但不足以有用,所以itemNumberitemId会更好。

于 2010-10-14T05:59:35.750 回答
0

当我使用 C# 等语言进行编程时,我经常给变量取短名称,因为这样更容易键入,而且我可以在屏幕上显示更多代码。当您在该区域中并且确切地知道一切是什么时,这很有效,但是由于您提到的原因,这对于局外人甚至是几个小时后的您自己都会感到非常困惑。Nice IDE 让重命名变量变得超级容易,我绝对建议您在晚上离开您的项目之前,或者在分享它之前这样做。

Guffa 提出了一些关于何时适合使用短变量名的优点。

于 2010-10-14T06:14:08.963 回答