国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

C#簡單命名指南

2019-11-18 17:11:02
字體:
供稿:網(wǎng)友

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

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

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

 

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

 

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

 

本文的命名規(guī)范主要基于微軟的標準,另外加上實際開發(fā)的一些具體經(jīng)驗。它還在不斷的維護和完善,你可以針對不同項目的要求,做相應的調(diào)整。

命名樣式

樣式分類

名稱

解釋

適用環(huán)境

例子

Pascal 大小寫

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

 

BackColor

Camel 大小寫

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

 

backColor

大寫

所有字母都大寫

l          縮寫。

l          少于等于2個字符

System.IO

System.Web.UI

樣式的選擇

標識符

命名格式

例子

備注

參數(shù)、局部變量

Camel

public int GetTypeID(string typeName)

{  int typeID;   }

 

PRivateProtected的實例字段

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. 除用于循環(huán),別使用單個字母的變量象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:公司名、項目名稱或產(chǎn)品名稱;

b)TechnologyName:穩(wěn)定的、公認的技術(shù)名稱或架構(gòu)層次名稱;

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

例如:

//微軟公司的Web開發(fā)中的UI中的Design

namespace Microsoft.Web.UI.Design

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

namespace SiemensQuotation.BusinessRules.ProjectManagement  

2.幾個規(guī)則

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

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

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

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

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

控件

前綴

備注

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  

imgbtn

 

Calender 

cld

 

RequiredFieldValidator 

rfv

 

CompareValidator 

cv

 

RangeValidator 

rv

 

RegularExpressionValidator 

rev

 

ValidatorSummary 

vs

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 盖州市| 平罗县| 雷波县| 佳木斯市| 莱芜市| 泸州市| 手机| 垦利县| 涿鹿县| 龙川县| 洛宁县| 宁陵县| 朔州市| 云浮市| 黄陵县| 大石桥市| 平舆县| 万年县| 岱山县| 内江市| 怀集县| 舒兰市| 奉贤区| 临沂市| 磴口县| 伊金霍洛旗| 肥东县| 黄龙县| 丹阳市| 阿克苏市| 长子县| 洛扎县| 都匀市| 宝清县| 类乌齐县| 开江县| 扶绥县| 潼关县| 青铜峡市| 永泰县| 台东市|