程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#簡單命名指南

C#簡單命名指南

編輯:關於C語言

一個好的名字能夠讓你的程序更加好懂,別人一看到這個名字,就能夠猜到你在做什麼。大量好的名字離不開好的命名規范,而一個好的命名規范要做到兩點:

l  合理。即容易被大家接受和使用。從這個意義上來說,好的命名規范不應該太長,它應該讓你花上10分鐘就能看完,寫過幾段代碼就能熟悉。

l 風格一致。即前後一致,例外的情況少。

符合以上兩點的命名規范就是好的,雖然它們具體的規則可能不同。有的時候,命名規范體現了編程思想,比如:對於接口,在.Net中,一般要求以“I”開頭,在Java中沒有這個要求,原因是Java認為接口和抽象類往往可以轉化,比如:在項目初期,可能定義的是接口,而在後面,可能把它改成抽象類,如果名稱一致,就避免了名稱的改動。

另外,不同的命名規范也體現了程序發展歷程。比如:匈牙利命名法要求類型前綴,故在C++、VB、PB一般都會大量出現類型前綴,像intAmount, strName等。而現在一般沒有這個要求,原因是:1)有些類型可能會做修改,比如Int16變成Int32。另外對於一些動態語言(Python、JavaScript)來說,其類型是變化的,編譯時無法確定;2)現在的開發環境更加的友好,即使在開發的時候,你也很容易知道變量的類型(只要鼠標移上去)。

本文的命名規范主要基於微軟的標准,另外加上實際開發的一些具體經驗。它還在不斷的維護和完善,你可以針對不同項目的要求,做相應的調整。

命名樣式

樣式分類

名稱

解釋

適用環境

例子

Pascal 大小寫

首字母和後面的每個單詞的首字母都大寫;其他字母小寫

 

BackColor

Camel 大小寫

首字母小寫,而後面的每個單詞的首字母大寫;其他字母小寫

 

backColor

大寫

所有字母都大寫

l          縮寫。

l          少於等於2個字符

System.IO

System.Web.UI

樣式的選擇

標識符

命名格式

例子

備注

參數、局部變量

Camel

public int GetTypeID(string typeName)

{  int typeID; …  }

 

Private、Protected的實例字段

Camel

private string redValue;

protected bool isOk;

 

界面控件

Camel

private Label lblAlarm;

 

縮寫

大寫

namespace System.IO

{  …  }

縮寫必須是被普遍接受、眾所周知的縮寫。

除上面的標識符外

Pascal

public System.Drawing.Color BackColor

{  …  }

 

原則和習慣
首要原則

有意義的,描述性的詞語來命名。能夠一眼看出它作什麼。別使用會引起誤解的名字。如果名字一目了然,就無需用文檔來解釋方法的功能了

1. 除約定俗成的,別用縮寫。用name, address, salary等代替 nam, addr, sal

2. 除用於循環,別使用單個字母的變量象i, n, x 等. 而要使用 index, temp等。
for ( int i = 0; i < count; i++ ){ ...}
其他習慣
l除了界面控件外,不要使用類型前綴。比如:使用名稱amount,而不是 intAmount;

l類:使用名詞、名詞短語命名。比如:public class FileStream;

l方法:使用動詞、動詞短語開始。比如:CreateUser(), RemoveAt()等;

l接口:以 I 開始,後面加上名詞、名詞短語、形容詞命名。比如:IDisposable;

l常量:所有單詞大寫,多個單詞之間用 "_" 隔開。public const string PAGE_TITLE = "Welcome";

l命名空間:

1.基本格式:

CompanyName/ProjectName.TechnologyName[.Feature][.Design]

a)CompanyName/ProjectName:公司名、項目名稱或產品名稱;

b)TechnologyName:穩定的、公認的技術名稱或架構層次名稱;

c)[.Feature][.Design]:可選的功能與設計;

例如:

//微軟公司的web開發中的UI中的Design

namespace Microsoft.Web.UI.Design

//西門子報價項目中業務邏輯層中的項目管理

namespace SIEmensQuotation.BusinessRules.ProjectManagement  

2.幾個規則

a)嵌套的命名空間應當有依賴關系。例如:System.Web.UI.Design 中的類依賴於 System.Web.UI 中的類,而不能相反。

b)命名空間和類不能使用同樣的名字。例如,命名空間Debug下最好不要又一個類名為Debug。

c)如果公司名、項目名稱或產品名稱太長的話,可以用縮寫(且全部大寫)。

控件命名控件的名稱中需要加上前綴,之所以這樣做是為了區分界面的控件和普通的對象,由於界面修改往往非常頻繁,區分開來能使你更快速的找到控件,從而修改界面。舉一個例子:

界面有10個TextBox、10個Label。一個TextBox對應一個Label,為了完成讀寫,你至少要有20條語句來從控件進行取、賦值操作,如果有前綴的話,輸入this.txt,你就幾乎馬上能找到這個控件。反之,如果沒有前綴,由於窗口或頁面對象擁有大量的屬性和變量(>100個),你將花費大量時間來查找。另外一個TextBox對應一個Label(一個代表值,一個代表名稱),它們往往指同一樣事物,如果有前綴,就很容易區分這兩個控件。

控件

前綴

備注

Label

lbl

比如:lblName

TextBox

txt

 

Button     

btn

 

CheckBox 

chk

 

RadioButton 

rdo

 

CheckBoxList  

chklst

 

RadioButtonList 

rdolst

 

ListBox     

lst

 

DropDownList 

ddl

 

DataGrid 

dg

 

DataList     

dl

 

Image 

img

 

Table   

tbl

 

Panel        

pnl

 

LinkButton 

lnkbtn

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved