Pascal命名法:每个单词首字母均大写。
Camel命名法:第一个单词首字母小写,其余单词首字母大写。
类:
1、使用 Pascal 大小写。
2、用名词或名词短语命名类,保证类名清晰,尽量达到望文生义的境界。
3、类名称尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明类的用途。
4、不要使用类型前缀,例如,类名称前加上C以表示这是一个类,如:CButton。
5 、类命名中不要使用下划线及数字。
6 、有时候虽然该类不是接口,但需要提供以字母 I 开始的类名称,此时只要 I 是作为类名称组成部分的整个单词的第一个字母,这依然是可行的。例如,类名 IdentityOrder 就是适用的。
类命名示例:
public class FlightBuilder
public class HotelInfo
public class TicketShopper
接口:
1、 接口使用大些字母I做前缀,其后跟名词或名词短语,以描述这个接口,名词和短语使用Pascal方式,如,接口名称 ICache。
2、接口名称尽量少用或不用缩写,保证接口名清晰,尽量达到望文生义的境界,若使用了缩写一定要在注释中详细描述接口的用途。
3、接口名称中不要使用下划线及数字。
接口命名示例:
public interface ICache
public interface IClone
枚举:
1、用短语命名枚举,采用Pascal方式,保证枚举名清晰,尽量达到望文生义的境界。
2、枚举名称尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明枚举的用途。
3、不要在枚举名称后跟上 Enum 后缀,如:OrderFlagEnum。
4、一定不要使用汉字作为枚举值,以免多语言环境下造成莫名。
枚举命名示例:
public enum OrderFlag
{
None,
F
}
参数:
1、使用描述性参数名称,保证参数名称清晰,尽量达到望文生义的境界。
2、参数命名使用 Camel 方,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明参数的用途。
参数命名示例:
object GetCache(string cacheKey)
bool IsInt(string needCheckString)
方法:
1、用动词或动词短语命名方法名,保证方法名清晰,尽量达到望文生义的境界。
2、采用Pascal方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明方法的用途。
方法名示例:
public void ClearCache()
public char[] GetCharArray()
属性:
1、用名词或名词短语命名属性,保证属性名清晰,尽量达到望文生义的境界。
2、采用Pascal方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明属性的用途。
属性示例:
public string FlightNo {
get;
set;
}
常量:
1、所有单词大写,多个单词之间用 下划线(”_”)隔开,注意不是全角的下划线。 如
public const int PAGE_INDEX = 6;
局部变量及成员变量:
1、用名词或名词短语命名局部变量,保证变量名清晰,尽量达到望文生义的境界。
2、采用Camel方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明变量的用途。
局部变量命名示例:
int index = 6;
string airline = string.Empty;
private string flightNo = null;
特性(Attribute):
1、用名词或名词短语+Attribute方式命名特性,保证特性名清晰,尽量达到望文生义的境界。
2、采用Pascal方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明特性的用途。
特性命名示例:
public class ValidAttribute : Attribute
{
}
异常:
1、用名词或名词短语+Exception方式命名自定义异常,保证特性名清晰,尽量达到望文生义的境界。
2、采用Pascal方式命名,一定不能使用简写。
异常命名示例:
public class FlightException : ApplicationException
{
}
委托(delegate):
1、用动词短语命名委托,保证委托名清晰,尽量达到望文生义的境界。
2、采用Pascal方式命名,一定不能使用简写。
委托命名示例:
delegate void PageChange( int pageIndex );
C#保留关键字:
避免使用与常用的 .NET 框架命名空间重复的类名称。例如,不要将以下任何名称用作类名称:
System、Collections。有关 .NET 框架命名空间的列表,请参阅MSDN类库。
另外,避免使用和以下关键字冲突的标识符。
AddHandler | AddressOf | Alias | And | Ansi |
As | Assembly | Auto | Base | Boolean |
ByRef | Byte | ByVal | Call | Case |
Catch | CBool | CByte | Cchar | CDate |
CDec | CDbl | Char | Cint | Class |
CLng | CObj | Const | Cshort | CSng |
CStr | CType | Date | Decimal | Declare |
Default | Delegate | Dim | Do | Double |
Each | Else | ElseIf | End | Enum |
Erase | Error | Event | Exit | ExternalSource |
False | Finalize | Finally | Float | For |
Friend | Function | Get | GetType | Goto |
Handles | If | Implements | Imports | In |
Inherits | Integer | Interface | Is | Let |
Lib | Like | Long | Loop | Me |
Mod | Module | MustInherit | MustOverride | MyBase |
MyClass | Namespace | New | Next | Not |
Nothing | NotInheritable | NotOverridable | Object | On |
Option | Optional | Or | Overloads | Overridable |
Overrides | ParamArray | Preserve | Private | Property |
Protected | Public | RaiseEvent | ReadOnly | ReDim |
Region | REM | RemoveHandler | Resume | Return |
Select | Set | Shadows | Shared | Short |
Single | Static | Step | Stop | String |
Structure | Sub | SyncLock | Then | Throw |
To | True | Try | TypeOf | Unicode |
Until | volatile | When | While | With |
WithEvents | WriteOnly | Xor | Eval | extends |
instanceof | package | var | ||
控件命名规则:
控件众多,统一的命名方式也多有冲突,开发人员记忆所有控件难免弄错,现采用默认控件类型作为前缀,前缀名称全部小写,控件名采用:类型缩写+名词短语(采用Pascal方式),虽然这样会使命名变得冗长,但是命名更加能反应出变量的意义,开发人员也不需要去强记各个控件的缩写。
控件示例:
<asp:Label id=”labelFlightNo” runat=”Server” />