我正在创建一个C#库,并且将使用他们使用的协议(TCP,UDP等)作为大多数公共类的前缀,并且我遇到了一个两难的问题:它应该是TCPXxxx
还是TcpXxxx
?
.NET框架中似乎没有标准(IPAddress
与TcpClient
)。
使用图书馆时您更喜欢哪个:TCPXxxx
或TcpXxxx
?
答案 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是否可以做同样但它是粉丝。