您在C#中为属性名称选择以下三个选项中的哪一个?为什么?
答案 0 :(得分:14)
我会选择1.我不想缩写任何东西,除非它是一个超常用的首字母缩略词,这将是荒谬的拼写。像“HyperTextTransferProtocolRequest”这样的东西拼出来是很荒谬的,因此将它缩写为“HttpRequest”是安全的。这有点主观,但如果有疑问,我倾向于不缩写。
如果您决定选择2或3,我可能会根据“框架设计指南”中的建议投票支持3。它基本上说对于3个或更多字母长的首字母缩略词,你应该把第一个字母大写,小写字母大写其余部分。两个字母的首字母缩略词有点含糊不清...有些人喜欢把所有字母都用作“ID”,有些人更喜欢用“Id”。该指南实际上是将2个字母缩写词的所有字母大写,但这与3个以上字母缩略语的指南相矛盾,因此人们都会这样做。
答案 1 :(得分:5)
我会使用YearToDateWages
,因为如果不在列表中,我就不会知道你在说什么。
另请参阅MSDN上的general naming guidelines:
通常,您不应使用缩写词或缩写词。这些使你的名字可读性降低。同样,很难知道什么时候可以安全地假设首字母缩略词被广泛认可。
有关缩写的大小写规则,请参阅Capitalization Conventions。
请勿使用缩写或缩写作为标识符名称的一部分。
例如,使用OnButtonClick而不是OnBtnClick。
请勿使用未被广泛接受的任何首字母缩略词,并且仅在必要时使用。
重点原创。
答案 2 :(得分:4)
bool ShouldIUseAbbreviate(string abbreviate_)
{
foreach (var peer in myPeers)
{
if (!peer.CanGetTheMeaningWithinOneSecond(abbreviate_))
{
return false;
}
}
return true;
}
答案 3 :(得分:2)
我认为第一个是最好的,因为它是自我描述性的。
答案 4 :(得分:2)
Microsoft建议命名约定#2
任何与> 2个首字母缩写词应该是Xxx而不是XXX
但是2应该是XX
我喜欢打字少,所以我会选择YtdWages
答案 5 :(得分:1)
答案 6 :(得分:0)
我会选择全名而不是一个首字母缩略词。它更具描述性,虽然“YTD”对某些人来说可能是显而易见的,但它可能不适合所有人。 YearToDate不会过长,意思也很明确。
答案 7 :(得分:0)
你有没有理由不使用第一个?
不仅是对他人而言;如果你必须在2年后用你自己的代码改变一些东西,好的,描述性的名字会帮助你。
答案 8 :(得分:0)
.Net框架似乎主要遵循#1。所以我会坚持下去。应避免使用缩略语,除非在班级非常普遍。当然对于本地(函数)变量,这是非常不严格的,我会说缩写和短名称更合适,以使代码更小,更简洁。
好缩写的示例是XML和HTTP。谁会认真写作
string x=myobject.HyperTextMarkupLanguageOutput;
答案 9 :(得分:0)
我也投票给第1名。
当您不想要描述性名称时,很少会出现这种情况。 Visual Studio将为您提供长名称。
半主题说明: 如果你找不到合适的名字......也许计划的用法毕竟不是那么清楚;)