我喜欢给我的变量、方法和对象起描述性的名称。显然没有太过分,但让我举几个例子。

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)
{

}

可读性下降了。总是存在智能感知的争论,只需将鼠标悬停在变量上即可查看它们是什么类型,或者它们是什么。可读的代码,使代码易于理解。

命名约定是否可以使代码变得更好维护?

有帮助吗?

解决方案

是的, 当然,命名约定可以使代码变得更好维护。

这就是为什么,在你第一天上编程课时,如果你调用变量 x 或 i...,讲师就会打你。

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

你必须尝试在可读、不言自明的命名约定、良好的注释和结构良好的代码之间取得良好的平衡,以编写更好的可维护代码。

其他提示

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

当变量的范围非常有限,并且当代码围绕该变量展开时,您可以使用一个抛出的变量名称。

例如,如果循环主体较小,并且柜台没有其他含义,则循环中的计数器可以具有简单的名称:

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

Lambda表达式可以使用一个简短名称更可读性:

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

但是,当使用短名称时,不要试图缩写某些东西。如果单个字母或众所周知的缩写不这样做,那么您也可以再说一个更长的名字。

例如,使用 n 对于像上面的lambda外出一样,对于数字值,将有效。使用更长的东西仍然是缩写,例如 itnum 或者 itmid 使该名称携带更多信息,但不足以有用,因此 itemNumber 或者 itemId 会更好。

当我用C#等语言编程时,我通常会给我的变量简短名称仅仅是因为它易于键入,并且可以在屏幕上安装更多代码。当您进入该区域并确切地知道一切是什么时,这很好,但是由于您提到的原因,这会使局外人甚至几个小时后都感到困惑。 Nice Ide's使重命名变量非常容易,我肯定会建议您在夜晚或在分享之前肯定地走出您的项目之前做。

Guffa提出了一些何时合适的变量名称。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top