文章目錄
-
- 資料類型簡寫表
- 資料類型
- 資料類型簡寫
- 標準命名舉例
-
- 控制項ID首碼縮寫表
http://www.cnblogs.com/iloveWater/articles/2209769.html
1.在每個檔案的頭部必須包括以下注釋:(更多文檔注釋內容查看>>)
/*---------------------------------------------------------------- // Copyright (C) 2010 南昌大學家園網著作權。 // // 檔案名稱: // 檔案功能描述: // // // 建立人:(姓名,連絡方式,時間) // // 修改標識: // 修改描述: // // 修改標識: // 修改描述://----------------------------------------------------------------*/
2.一行只建議作一個聲明,並按字母順序排列。如
int level; //推薦int size; //推薦int x, y; //不推薦
3.欄位的聲明:
不要使用是 public 或 protected 的執行個體欄位。如果避免將欄位直接公開給開發人員,可以更輕鬆地對類進資料列版本設定,原因是在維護二進位相容性時欄位不能被更改為屬性。考慮為欄位提供 get 和set 屬性訪問器,而不是使它們成為公用的。 get 和 set 屬性訪問器中可執行代碼的存在使得可以進行後續改進,如在使用屬性或者得到屬性更改通知時根據需要建立對象。下面的程式碼範例闡釋帶有get 和 set 屬性訪問器的私人執行個體欄位的正確使用。 樣本:
public class Control : Component{ private int handle; public int Handle { get { return handle; } }}
4.命名概述
名稱應該說明“什麼”而不是“如何”。通過避免使用公開基礎實現(它們會發生改變)的名稱,可以保留簡化複雜性的抽象層。例如,可以使用 GetNextStudent(),而不是 GetNextArrayElement()。
命名原則是:
選擇正確名稱時的困難可能表明需要進一步分析或定義項的目的。使名稱足夠長以便有一定的意義,並且足夠短以避免冗長。唯一名稱在編程上僅用於將各項區分開。表現力強的名稱是為了協助人們閱讀;因此,提供人們可以理解的名稱是有意義的。不過,請確保選擇的名稱符合適用語言的規則和標準。
以下幾點是推薦的命名方法。
1、避免容易被主觀解釋的難懂的名稱,如方面名 AnalyzeThis(),或者屬性名稱 xxK8。這樣的名稱會導致多義性。
2、在類屬性的名稱中包含類名是多餘的,如 Book.BookTitle。而是應該使用 Book.Title。
3、只要合適,在變數名的末尾或開頭加計算限定符(Avg、Sum、Min、Max、Index)。
4、在變數名中使用互補對,如 min/max、begin/end 和 open/close。
5、布爾變數名應該包含 Is,這意味著 Yes/No 或 True/False 值,如 fileIsFound。
6、在命名狀態變數時,避免使用諸如 Flag 的術語。狀態變數不同於布爾變數的地方是它可以具有兩個以上的可能值。不是使用 documentFlag,而是使用更具描述性的名稱,如documentFormatType。 (此項只供參考)
7、即使對於可能僅出現在幾個程式碼中的生存期很短的變數,仍然使用有意義的名稱。僅對於短迴圈索引使用單字母變數名,如 i 或 j。 可能的情況下,盡量不要使用原義數字或原義字串,如
For i = 1 To 7。而是使用命名常數,如 For i = 1 To NUM_DAYS_IN_WEEK 以便於維護和理解。
常用資料類型命名規範表
標識符 |
大小寫 |
樣本 |
類 |
Pascal |
AppDomain |
枚舉類型 |
Pascal |
ErrorLevel |
枚舉值 |
Pascal |
FatalError |
事件 |
Pascal |
ValueChange |
異常類 |
Pascal |
WebException 注意 總是以 Exception 尾碼結尾。 |
唯讀靜態欄位 |
Pascal |
RedValue |
介面 |
Pascal |
IDisposable 注意 總是以 I 首碼開始。 |
方法 |
Pascal |
ToString |
命名空間 |
Pascal |
System.Drawing |
屬性 |
Pascal |
BackColor |
公用執行個體欄位 |
Pascal |
RedValue 注意 很少使用。屬性優於使用公用執行個體欄位。 |
受保護的執行個體欄位 |
Camel |
redValue 注意 很少使用。屬性優於使用受保護的執行個體欄位。 |
私人的執行個體欄位 |
Camel |
redValue |
參數 |
Camel |
typeName |
方法內的變數 |
Camel |
backColor |
上表具體說明:
類
1、使用 Pascal 大小寫。
2、用名詞或名詞短語命名類。
3、使用全稱避免縮寫,除非縮寫已是一種公認的約定,如URL、HTML
4 、不要使用類型首碼,如在類名稱上對類使用 C 首碼。例如,使用類名稱 FileStream,而不是CFileStream。
5 、不要使用底線 (_)。
6 、有時候需要提供以字母 I 開始的類名稱,雖然該類不是介面。只要 I 是作為類名稱組成部分的整個單詞的第一個字母,這便是適當的。例如,類名稱 IdentityStore 是適當的。在適當的地方,使用複合單詞命名派生的類。衍生類別名稱的第二個部分應當是基類的名稱。例如,ApplicationException 對於從名為 Exception 的類派生的類是適當的名稱,原因ApplicationException 是一種Exception。請在應用該規則時進行合理的判斷。例如,Button 對於從 Control 派生的類是適當的名稱。儘管按鈕是一種控制項,但是將 Control 作為類名稱的一部分將使名稱不必要地加長。
public class FileStream{}public class Button{}public class String{ }
介面
以下規則概述介面的命名指南:
1、用名詞或名詞短語,或者描述行為的形容詞命名介面。例如,介面名稱 IComponent 使用描述性
名詞。介面名稱 ICustomAttributeProvider 使用名詞短語。名稱 IPersistable 使用形容詞。
2、使用 Pascal 大小寫。
3、少用縮寫。
4、給介面名稱加上字母 I 首碼,以指示該類型為介面。在定義類/介面對(其中類是介面的標準
實現)時使用相似的名稱。兩個名稱的區別應該只是介面名稱上有字母 I 首碼。
5、不要使用底線 (_)。
6、當類是介面的標準執行時,定義這一對類/介面組合就要使用相似的名稱。兩個名稱的不同之處
只是介面名前有一個I首碼。
以下是正確命名的介面的樣本。
public interface IServiceProviderpublic interface IFormatable
以下程式碼範例闡釋如何定義 IComponent 介面及其標準實現 Component 類。
public interface IComponent{ // Implementation code goes here.}public class Component : IComponent{ // Implementation code goes here.}
枚舉 (Enum)
枚舉 (Enum) 實值型別從 Enum 類繼承。以下規則概述枚舉的命名指南:
1 對於 Enum 類型和值名稱使用 Pascal 大小寫。
2 少用縮寫。
3 不要在 Enum 類型名稱上使用 Enum 尾碼。
4 對大多數 Enum 類型使用單數名稱,但是對作為位域的 Enum 類型使用複數名稱。
5 總是將 FlagsAttribute 添加到位域 Enum 類型。
參數
以下規則概述參數的命名指南:
1、使用描述性參數名稱。參數名稱應當具有足夠的描述性,以便參數的名稱及其類型可用於在大多數情況下確定它的含義。
2、對參數名稱使用 Camel 大小寫。
3、 使用描述參數的含義的名稱,而不要使用描述參數的類型的名稱。開發工具將提供有關參數的類型的有意義的資訊。因此, 通過描述意義,可以更好地使用參數的名稱。少用基於類型的參數名稱,僅在適合使用它們的地方使用它們。
4、不要使用保留的參數。保留的參數是專用參數,如果需要,可以在未來的版本中公開它們。相反,如果在類庫的未來版本中需要更多的資料,請為方法添加新的重載。
5、不要給參數名稱加匈牙利語類型標記法的首碼。
以下是正確命名的參數的樣本。
Type GetType(string typeName);string Format(string format, args() As object);
方法
以下規則概述方法的命名指南:
1 使用動詞或動詞短語命名方法。
2 使用 Pascal 大小寫。
3 以下是正確命名的方法的執行個體。
void RemoveAll();void GetCharArray();void Invoke();
屬性 (property)
以下規則概述屬性的命名指南:
1 使用名詞或名詞短語命名屬性。
2 使用 Pascal 大小寫。
3 不要使用匈牙利語標記法。
4 考慮用與屬性的基礎類型相同的名稱建立屬性。例如,如果聲明名為 Color 的屬性,則屬
性的類型同樣應該是 Color。請參閱本主題中後面的樣本。
以下程式碼範例闡釋正確的屬性命名。
public class SampleClass{ public Color BackColor { // Code for Get and Set accessors goes here. }}
以下程式碼範例闡釋提供其名稱與類型相同的屬性。
public enum Color{ // Insert code for Enum here.}public class Control{ public Color Color { get { // Insert code here. } set { // Insert code here. } }}
以下程式碼範例不正確,原因是 Color 屬性是 Integer 類型的。
public enum Color{ // Insert code for Enum here.}public class Control{ public int Color { // Insert code here }}
在不正確的樣本中,不可能引用 Color 枚舉的成員。Color.Xxx 將被解釋為訪問一個成員,
該成員首先擷取 Color 屬性( C# 中為 int 類型)的值,然後再訪問該值的某個成員(該成
員必須是 System.Int32 的執行個體成員)。
常量 (const)
以下規則概述常量的命名指南:
所有單詞大寫,多個單詞之間用 "_" 隔開。 如
public const string PAGE_TITLE = "Welcome";
資料類型簡寫表
資料類型 |
資料類型簡寫 |
標準命名舉例 |
Array |
arr |
arrShoppingList |
Boolean |
bln |
blnIsPostBack |
Byte |
byt |
bytPixelValue |
Char |
chr |
chrDelimiter |
DateTime |
dtm |
dtmStartDate |
Decimal |
dec |
decAverageHeight |
Double |
dbl |
dblSizeofUniverse |
Integer |
int |
intRowCounter |
Long |
lng |
lngBillGatesIncome |
Object |
obj |
objReturnValue |
Short |
shr |
shrAverage |
Single |
sng |
sngMaximum |
String |
str |
strFirstName |
控制項ID首碼縮寫表
控制項類型 |
縮寫 |
樣本 |
Button |
btn |
|
Check box |
chk |
chkReadOnly |
Combobox,drop-down list box |
cbo |
cboEnglish |
Communications |
com |
comFax |
ContextMenu |
ctxmnu |
|
Control(used within procedures when the specific type is unknown) |
ctr |
ctrCurrent |
Data grid |
dgd |
dgdTitles |
Data list |
dbl |
dblPublisher |
Data repeater |
drp |
drpLocation |
Form |
frm |
frmEntry |
Image |
img |
imgIcon |
Label |
lbl |
lblHelpMessage |
LinkLabel |
lnk |
|
List box |
lst |
lstPolicyCodes |
ListView |
lvw |
lvwHeadings |
Menu |
mnu |
mnuFileOpen |
ProgressBar |
prg |
prgLoadFile |
RadioButton |
rbtn |
|
RichTextBox |
rtf |
rtfReport |
Text box |
txt |
txtLastName |
Timer |
tmr |
tmrAlarm |
TreeView |
tre |
treOrganization |