2009-04-16 74 views
2

我正在创建一个C#库,并且将使用他们使用的协议(TCP,UDP等)将大部分公共类作为前缀,并且我遇到了一些困难:应该它是TCPXxxxTcpXxxx在驼峰类名中代表缩写

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

你喜欢什么时候使用库:TCPXxxxTcpXxxx

回答

9

它应该是TcpXxxx,由设计指南。

在设计指南中,2个字母首字母缩写词大写,所有其他字母缩写为pascal。

通过Cwalina和艾布拉姆斯框架设计指南

  • 不要利用两个字符的首字母缩写,例外的都charaters一个骆驼套管标识符的第一部作品。

    System.IO 
    public void StartIO(Stream ioStream) 
    
  • 不要利用仅具有三个或更多的字符的首字母缩写词的第一个字符,除了骆驼套管标识符的第一个字。

MSDN有这样的一个abbrieviated,较短的版本。

+1

我想你的意思PascalCased,没有驼峰格式。 – 2009-04-16 01:21:07

+0

@ Reed:你有链接吗?不是我不相信你,但我想阅读它。 – Samuel 2009-04-16 01:22:00

+0

@Samuel:我添加它从书本身...添加一个链接到MSDN。 – 2009-04-16 01:23:37

1

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

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

0

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

注:当使用CapWords缩写,大写所有字母的缩写 。因此HTTPServerError好于 HttpServerError。

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

2

我总是喜欢想象一个将WordsLikeThis转化为单词这样的理论过程,并想象这个名称如何转化。一些例子:

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

显然后者更有意义。

0

您可能会考虑将这些类放在名为“TCP”的名称空间中。如果你这样做了,那么你在这个名字空间中的函数/类名会变得越来越短,你就不必担心这个问题了。

0

我知道日食,我可以只用类型名称的大写字母快速指定类型,所以我更喜欢下利用,而不是过度利用......我不知道,如果VS可以做同样的但它是风扇tastic