我喜欢给我的变量,方法和对象描述名称。显然不会过分,但让我举几个例子。
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)
{
}
可读性降低了。总是存在intellisense的论点,只是将鼠标悬停在变量上以查看它们是什么类型,或者它们是什么类型。 可读代码,易于理解的代码。
命名约定是否会产生更好的可维护代码?
答案 0 :(得分:4)
是,当然命名约定可以提供更好的可维护代码。
这就是为什么,在编程课的第一天,如果你打电话给变量x或者我......那么讲师就会打动你。
你必须记住变量/方法/类等的名称纯粹是为了程序员,因为在编译时这些只是地址到内存。
你必须尝试使用可读的,自我解释的命名约定,良好的注释和结构良好的代码的良好平衡,以制作更好的可维护代码。
答案 1 :(得分:3)
是的,对于任何范围不是很有限的变量。
当变量的范围非常有限时,当代码围绕该变量时,您可以使用丢弃变量名称。
例如,如果循环体很小而且计数器没有重定位有任何其他含义,则循环中的计数器可以有一个简单的名称:
for (int i = 0; i < 10; i++) arr[i] = 0;
使用短名称可以更好地读取Lambda表达式:
var items = source.Select(n => n.ToString() + ".");
但是,使用短名称时不要尝试缩写。如果单个字母或众所周知的缩写没有这样做,你也可以选择更长的名字。
例如,使用n
作为数值,就像上面的lambda exression一样,可行。使用仍然是缩写的更长的内容(例如itnum
或itmid
)会使名称包含更多信息,但不足以使其有用,因此itemNumber
或itemId
会更好
答案 2 :(得分:0)
当我用C#这样的语言编程时,我经常会给我的变量短名称,因为它更容易输入,我可以在屏幕上放入更多的代码。当你在这个区域并确切地知道一切都是什么时,这很有效,但正因为你提到的原因,对于一个局外人,甚至几个小时后你自己都会感到很困惑。不错的IDE让你可以非常轻松地重命名变量,我肯定会建议你在离开你的项目之前,或者在分享它之前做这件事。
当短变量名称合适时,Guffa提出了一些好处。