VisualStudio 2008c#程式設計規範

iDotNetSpace發表於2008-09-12

命名規範制定意義

   1 方便程式碼的交流和維護,便於日後自己的再次閱讀。
   2
不影響編碼的效率,不與大眾習慣衝突。
   3
使程式碼更美觀、閱讀更方便。
   4
使程式碼的邏輯更清晰、更易於理解

命名規範制定原則

首要原則

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

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 名稱空間:基本格式:

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

a) CompanyName/ProjectName:公司名、專案名稱或產品名稱;

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

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

規範

1、用pascal規則來命名方法和類.(第一個單詞首字母大寫,後面連線的每個單詞首字母都大寫)
public class DataBase 
public void GetDataTable()
2
類:使用名詞、名詞短語命名。比如:public class FileStream
2.
camel規則來命名區域性變數和方法的引數. (第一個單詞不大寫,後面連線的單詞首字母大寫
public void AddUser(string userId, byte[] password)
{ string userName;}

3.
所有的成員變數前加字首 _ 
public class Database 
{ private string _connectionString; } 

4.
介面的名稱加字首 I
interface ICompare 
{ int compare(); }

5.
自定義程式碼屬性類以Attribute結尾
public class OperationAttribute : Attribute 

6.
自定義的異常以Exception結尾 
public class AppException : Exception 
7.
方法的命名.一般將其命名為動賓短語,動詞+物件
GetRecordData();GetPath();CreateFile();
8.
程式碼的縮排.要用Tab,而不要用space.
9.
使用帶有說明性的變數名。
  (a)避免單字串的變數名,使用類似於indextemp這樣有意義的名字。
  (b)對於publicprotected型別的變數避免使用匈牙利表示法。
  (c)不要縮寫單詞。
10.
所有的類成員變數應該被宣告在類的頂部,並用一個空行把它們和方法以及屬性的宣告區分開.
11.
用有意義的名字命名namespace,如:產品名、公司名
12.
建議區域性變數在最接近使用它時再宣告
13.
使用某個控制元件的值時,儘量命名區域性變數
14.
把引用的系統的namespace和自定義或第三方的用一個換行把它們分開
15.
檔名要能反應類的內容,最好是和類同名,一個檔案中一個類或一組關連類
16.
目錄結構中要反應出namespace的層次.
17.
大括號"{"要新起一行 .
18.
在和你的程式碼縮排處於同一個級別處為該行程式碼新增註釋

控制元件命名

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

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

控制元件

字首

控制元件

字首

控制元件

字首

Label

lbl

CompareValidator

cv

 

 

TextBox

txt

RangeValidator

rv

 

 

Button     

btn

RegularExpressionValidator

rev

 

 

CheckBox

chk

ValidatorSummary 

vs

 

 

RadioButton

rdo

GridView

gv

 

 

CheckBoxList

cbl

MultiView

mv

 

 

RadioButtonList

rbl

View

vw

 

 

ListBox

lst

HiddenField

hf

 

 

DropDownList

ddl

 

 

 

 

DataGrid 

dg

 

 

 

 

DataList

dl

 

 

 

 

Image 

img

 

 

 

 

Table   

tbl

 

 

 

 

Panel        

pnl

 

 

 

 

LinkButton

lbt

 

 

 

 

ImageButton  

imgbtn

 

 

 

 

Calender

cld

 

 

 

 

RequiredFieldValidator 

rfv

 

 

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-446850/,如需轉載,請註明出處,否則將追究法律責任。

相關文章