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” />