熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#簡單命名指南

2013-11-13 12:13:02  來源: .NET編程 

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

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

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

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

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

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

    命名樣式

    樣式分類

名稱

解釋

適用環境

例子

Pascal 大小寫

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

 

BackColor

Camel 大小寫

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

 

backColor

大寫

所有字母都大寫

l          縮寫

l          少於等於個字符

SystemIO

SystemWebUI

樣式的選擇

標識符

命名格式

例子

備注

參數局部變量

Camel

public int GetTypeID(string typeName)

{  int typeID; …  }

 

PrivateProtected的實例字段

Camel

private string redValue;

protected bool isOk;

 

界面控件

Camel

private Label lblAlarm;

 

縮寫

大寫

namespace SystemIO

{  …  }

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

除上面的標識符外

Pascal

public SystemDrawingColor BackColor

{  …  }

    原則和習慣首要原則

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

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

    除用於循環別使用單個字母的變量象i n x 等 而要使用 index temp等

    for ( int i = i < count i++ ){ ……}其他習慣l除了界面控件外不要使用類型前綴比如使用名稱amount而不是 intAmount

    l類使用名詞名詞短語命名比如public class FileStream

    l方法使用動詞動詞短語開始比如CreateUser() RemoveAt()等

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

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

    l命名空間

    基本格式

    CompanyName/ProjectNameTechnologyName[Feature][Design]

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

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

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

    例如

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

    namespace MicrosoftWebUIDesign

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

    namespace SiemensQuotationBusinessRulesProjectManagement

    幾個規則

    a)嵌套的命名空間應當有依賴關系例如SystemWebUIDesign 中的類依賴於 SystemWebUI 中的類而不能相反

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

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

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

    界面有個TextBox個Label一個TextBox對應一個Label為了完成讀寫你至少要有條語句來從控件進行取賦值操作如果有前綴的話輸入thistxt你就幾乎馬上能找到這個控件反之如果沒有前綴由於窗口或頁面對象擁有大量的屬性和變量(> 個)你將花費大量時間來查找另外一個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  


From:http://tw.wingwit.com/Article/program/net/201311/15419.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.