物业的最佳命名?

时间:2010-05-20 23:01:54

标签: c# .net naming-conventions

您在C#中为属性名称选择以下三个选项中的哪一个?为什么?

  1. YearToDateWages
  2. YTDWages
  3. YtdWages

10 个答案:

答案 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)

取决于。

如果您要创建一个可以看到外部使用的库,.NET Framework Design Guidelines会说首选#1。

如果是内部应用程序/库,那么我建议使用与您的团队开发标准一致的格式。

答案 6 :(得分:0)

我会选择全名而不是一个首字母缩略词。它更具描述性,虽然“YTD”对某些人来说可能是显而易见的,但它可能不适合所有人。 YearToDate不会过长,意思也很明确。

答案 7 :(得分:0)

你有没有理由不使用第一个?

不仅是对他人而言;如果你必须在2年后用你自己的代码改变一些东西,好的,描述性的名字会帮助你。

答案 8 :(得分:0)

.Net框架似乎主要遵循#1。所以我会坚持下去。应避免使用缩略语,除非在班级非常普遍。当然对于本地(函数)变量,这是非常不严格的,我会说缩写和短名称更合适,以使代码更小,更简洁。

缩写的示例是XML和HTTP。谁会认真写作

string x=myobject.HyperTextMarkupLanguageOutput;

答案 9 :(得分:0)

我也投票给第1名。

当您不想要描述性名称时,很少会出现这种情况。 Visual Studio将为您提供长名称。

半主题说明: 如果你找不到合适的名字......也许计划的用法毕竟不是那么清楚;)