C#簡單命名指南

來源:互聯網
上載者:User

 

一個好的名字能夠讓你的程式更加好懂,別人一看到這個名字,就能夠猜到你在做什麼。大量好的名字離不開好的命名規範,而一個好的命名規範要做到兩點:
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
ImageButton  

本文來自:一步一腳印★www.1b1jy.com

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.