代表驼峰类名称的缩写

时间:2009-04-16 01:17:48

标签: c# .net naming-conventions

我正在创建一个C#库,并且将使用他们使用的协议(TCP,UDP等)作为大多数公共类的前缀,并且我遇到了一个两难的问题:它应该是TCPXxxx还是TcpXxxx

.NET框架中似乎没有标准(IPAddressTcpClient)。

使用图书馆时您更喜欢哪个:TCPXxxxTcpXxxx

6 个答案:

答案 0 :(得分:9)

根据设计指南,它应该是TcpXxxx。

在设计指南中,2个字母的首字母缩略词是大写的,所有其他的都是pascal cased。

Cwalina和Abrams的框架设计指南

  
      
  • 将两个字符缩写词的两个字符大写,将骆驼字符标识符的第一个作品除外。

    System.IO
    public void StartIO(Stream ioStream)
    
  •   
  • 除了骆驼外壳标识符的第一个单词外,请仅使用三个或更多个字符的缩写词的第一个字符大写。

  •   

MSDN有一个较短的版本。

答案 1 :(得分:2)

我总是想象一个理论过程,将WordsLikeThis转换为类似于这样的词,并想象有问题的名称将如何转换。一些例子:

TCPSocket - > T-C-P-插座
TcpSocket - > TCP套接字

显然,后者更有意义。

答案 2 :(得分:1)

通常,当它是一个2个字符的前缀时,保留大写(IPAddress),当它是3个字符或更多时,Pascal-case为前缀(TcpXxxx)。

此规则有一些例外情况(例如,如果前缀是一个大写的专有名称)。

答案 3 :(得分:0)

我知道这是C#编码风格,但我更喜欢Python PEP 8 Style

  

注意:在CapWords中使用缩写时,请将所有字母大写   的缩写。因此HTTPServerError比   HttpServerError。

但是在罗马时......一致的代码更好,这就是为什么语言风格指南是一个好主意。

答案 4 :(得分:0)

您可以考虑将这些类放在名为“TCP”的名称空间中。如果这样做,那么该命名空间中的函数/类名将变得更短更清晰,您根本不必担心这个问题。

答案 5 :(得分:0)

我知道在eclipse中我可以通过使用类型名称的大写字母快速指定一个类型,所以我更喜欢资本不足而不是过度资本化...我不知道VS是否可以做同样但它是粉丝