第2章 命名规范

2.1. 大小写约

2.1.1. 标识符的大小写规则

ü PascalCasing命名多个单词构成的命名空间、类型以及成员的名字。

例如:使用TextColor而不使用Textcolor,单个单词(Button)的首字母大写,当一个单词为复合词(endpoint)作为一个单词,只有第一字母大写。

 

ü camelCasing命名参数的名字。

 

ü 不同类型标识符的大小写规则,如下表:

 

标识符

命名法

例子

命名空间

Pascal

nameSpace System.Scurity{...}

类型

Pascal

public class StreamReader{...}

接口

Pascal

public interface IEnumerable{...}

方法

Pascal

public class Object{
public virtual string Tostring();}

属性

Pascal

public class String{
public int Length {get;}}

事件

Pascal

public class Process{
public event EventHandler Exited;}

字段(静态)

Pascal

public class MessageQueue{
public static readonly TimeSpan InfiniteTimeout;}

枚举值

Pascal

FileMode{Append,...}

参数

Camel

public class Convert{
public static int ToInt32 (string value);}

2.1.2. 缩写词首字母的大小写

ü 要把缩写词首字母为两个字母全部大写,当是camelCasing风格的参数名的作为第一单词来使用。

例如:

System.IO

Public void StartIO(Stream ioStream)

 

ü 把缩写词首字母为三个或三个以上字母第一字母大写,当是camelCasing风格的标识符作为第一单词来命名。

例如:

System.Xml

Public void processHtmlTag(string htmlTag)

 

ü 不要把camelCasing风格的标识符头部的任何首字母缩写词的任何字母大写,无论首字母缩写词的长度是多少。

2.1.3. 复合词和常用术语的大小写

ü 在涉及大小写时,大多数复合词术语要作为单个单词处理。

 

ü 不要把闭合形式的复合词中每个单词的首字母大写。

 

ü 常用的复合词和常用术语的大小写及拼写。如下表:

 

Pascal

Camel

Not

BitFlag

bitFlag

Bitflag

Callback

callback

CallBack

Canceled

canceled

Cancelled

DoNot

doNot

dont

Email

email

EMail

Endpoint

endpoint

EndPoint

FileName

fileName

Filename

Gridline

gridline

GridLine

Hashtable

hashtable

HashTable

Id

id

ID

Indexes

indexes

Indices

LogOff

logOff

LogOut

LogOn

logOn

LogIn

Metadata

metadata

MetaData,metaData

Multipanel

multipanel

MultiPanel

Multiview

multiview

MultiView

Namespace

namespace

NameSpace

Ok

ok

OK

Pi

pi

PI

Placehoder

placehoder

PlaceHoder

Signln

signln

SignOn

SignOut

signOut

SignOff

UserName

userName

Username

WhiteSpace

whiteSpace

Whitespace

Writable

writable

Writeable

 

2.1.4. 是否区分大小写

ü 任何外部可访问的API不应该仅通过大小写来区分位于同一个上下文中的两个名字。

 

ü 区分大小写只有一条规范:不要以为所有的编程语言都是区分大小写的,实际情况并非如此。不应该仅仅通过大小写来区分名字。

2.2. 通用命名的约定

2.2.1. 单词的选择

ü 为标识符选择易于阅读的名字。

 

ü 要更看重可读性,而不是更看重简短性。如属性名CanScrollHorizontally要胜过ScrollableX

 

û 不要使用下划线、连字符以及其他任何既非字母也非数字的字符。

 

û 不要使用匈牙利命名法。

 

û 避免使用与广泛使用的编程语言的关键字有冲突的标识符。

2.2.2. 使用单词缩写和首字母缩写词

û 不要使用缩写词和缩约词作为标识符名字的一部分。

例如:要用GetWindow,而不用GetWin

 

û 不要使用未被广泛接受的首字母缩写词,即使是被广泛接受的首字母缩写词,也只应该在必需的时候才使用。

例如:UI用来表示User InterfaceHTML用来表示Hypertext Markup Language。虽然

许多框架设计师认为一些新近的首字母缩写词很快就会被广泛接受,但在框架的标识

符中使用它们仍是不好的做法。

2.2.3. 避免使用语言特有的名字

ü 要给类型名使用语义上有意义的名字,而不要使用语言特有的关键字。

例如:GetLength这个名字比GetInt要好。

 

ü 要使用CLR的通用类型名,而不要使用语言特有的别名——如果除了类型之外,标识符没有其他的语义。

例如:一个把类型转换为System. Int64的方法应该被命名为ToInt64,而不是ToLong

(因为System. Int64CLR类型名,它对应于C#特有的别名long)。

 

ü 语言特有的类型名及对应的CLR类型名,如下表:

 

C#

Visual Basic

C++

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章