C#命名規則和開發習慣

一、命名

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

1.pascal規則來命名方法和類型,類名添加cls前綴。

Pascal規則是:第一個字母必須大寫,並且後面的併發連結詞的第一個字母均爲大寫,例如象GeneralManager、SmallDictionary、StringUtil都是合乎這種規則的類名。

public class clsTextBox

{

     public void DataBind() 

     {

     }

}

 

2.camel規則來命名局部變量和方法的參數.並添加數據類型前綴。前綴但參考附錄)

camel規則是:第一個子串外的所有子串的第一個字母大寫

string strUserName;

public AddUser(string strUserId, byte[] byPassword);

 

3.所有的成員變量前加前綴 m_

public class Database

{

     public string m_strConnectionString;

}

 

4.接口的名稱加前綴 I.

interface ICompare

{

     int compare();

}

 

5.自定義的屬性以Attribute結尾

public class AuthorAttribute : Attribute

{

}

 

6.自定義的異常以Exception結尾

public class AppException : Exception

{

}

 

7.方法的命名.一般將其命名爲動賓短語.

ShowDialog()

CreateFile()

GetPath()

 

8.代碼的縮進.要用Tab,而不要用space.

 

9.局部變量的名稱要有意義.不要用xyz等等.

string userName

 

10.所有的成員變量聲明在類的頂端,用一個換行把它和方法分開.

 

11.用有意義的名字命名namespace,如:產品名、公司名.

 

12.建議局部變量在最接近使用它時再聲明.

 

13.使用某個控件的值時,儘量命名局部變量.

 

14.把引用的系統的namespace和自定義或第三方的分開.

 

15.文件名要能反應類的內容,最好是和類同名,一個文件中一個類.

 

16.大括號"{"要新起一行.

public class AuthorAttribute : Attribute

{

}

17常量

全部大寫,單詞之間以 “_” 分隔

例如:USER_PASSWORD 

 

二、編碼習慣.

1.C#預定義的類名,而不要用別名.

string userName;   而不是 System.String userName;

int number;        而不是 System.Int32;

 

2.一行不要超過80個字符.

 

3.儘量不要手工更改機器生成的代碼,若必須更改,一定要改成和機器生成的代碼風格一樣.

 

4.關鍵的語句(包括聲明關鍵的變量)必須要寫註釋.

 

5.文字常量和數字常量不要硬編碼,應該用常量類或枚舉代替.

 

6.不要用goto系列語句.

 

7.不要聲明publicprotected的成員變量,應用property.

 

8.不要聲明publicevent,應用事件訪問器.

public class Source

{

     private EventHandler m_NumberChangeEvent;

    

     public event EventHandler NumberChangeEvent

     {

         add

         {

              m_NumberChangeEvent += value;

         }

        

         remove

         {

              m_NumberChangeEvent -= value;

         }

     }

}

 

9.類型轉換的使用規則.

Animal animal = new Dog();

Dog dog = animal as Dog;

if (dog != null)

{

}

 

10.生成和構建一個長的字符串時,一定要使用StringBuilder,而不用string.

 

11.始終使用"{  }"包含if/else下的語句,即使只有一條語句.

 

12.switch語句一定要有default來處理意外情況.

 

13.儘量不用使用this引用,除非是要調用類中的另一個Constructor.

public class Person

{

     public Person(string name)

     {

     }

    

     public Person() : this("Jim")

     {

     }

}

 

數據庫命名規則

 

1、數據庫對象命名規則

表:    tb_e|r|b_<TableName>  首字母大寫

            e—業務表中相對獨立的實體表(例如:課程資源表……)

            r—業務中產生的關聯表(例如:選課表……)

            b—系統中的基本表(例如:類型表、民族、地區……)

視圖:    vw_<ViewName>       首字母大寫

存儲過程:sp_<SpName>          首字母大寫

觸發器:  ti | tu | td_<TriggerName> 首字母大寫

函數過程:fn_<FunctionName>     首字母大寫

 

3、數據項命名規則

列名命名規則:首字母大寫

 

注:建議名稱部分用英文單詞或單詞簡寫

 

 

附錄:

 

數據類型     

bool-b

float-flt

unit-ui

byte-by

int—i

ulong-ulng

char-ch

long—lng

ushort-usht

decimal-dec

sbyte-sby

string-str

double-dbl

short-sht

object-obj

emun-emn

struct-st

 

 

控件命名:

Control type                        prefix             Example

3D Panel                          pnl             pnlGroup

ADO Data                          ado             adoBiblio

Animated button                   ani             aniMailBox

Button                            btn             btnOK

Check box                         chk             chkReadOnly

Combo box                         cbo             cboEnglish

Dropdown list box                 ddl             ddlUser

Command button                    cmd             cmdExit

Common dialog                     dlg             dlgFileOpen

Communications                    com             comFax

Control (used within procedures when the specific type is unknown)

ctr             ctrCurrent

Data                              dat             datBiblio

Data-bound combo box              dbcbo           dbcboLanguage

Data-bound grid                   dbgrd           dbgrdQueryResult

Data-bound list box               dblst           dblstJobType

Data combo                        dbc             dbcAuthor

Data grid                         dgd             dgdTitles

Data list                         dbl             dblPublisher

Data repeater                     drp             drpLocation

Date picker                       dtp             dtpPublished

Directory list box                dir             dirSource

Drive list box                    drv             drvTarget

File list box                     fil             filSource

Flat scroll bar                   fsb             fsbMove

Form                              frm             frmEntry

Frame                             fra             fraLanguage

Gauge                             gau             gauStatus

Graph                             gra             graRevenue

Grid                              grd             grdPrices

Hierarchical flexgrid             flex            flexOrders

Horizontal scroll bar             hsb             hsbVolume

Image                             img             imgIcon

Image combo                       imgcbo          imgcboProduct

ImageList                         ils             ilsAllIcons

Label                             lbl             lblHelpMessage

Lightweight check box             lwchk           lwchkArchive

Lightweight combo box             lwcbo           lwcboGerman

Lightweight command button        lwcmd           lwcmdRemove

Lightweight frame                 lwfra           lwfraSaveOptions

Lightweight horizontal scroll bar lwhsb           lwhsbVolume

Lightweight list box              lwlst           lwlstCostCenters

Lightweight option button         lwopt           lwoptIncomeLevel

Lightweight text box              lwtxt           lwoptStreet

Lightweight vertical scroll bar   lwvsb           lwvsbYear

Line                              lin             linVertical

List box                          lst             lstPolicyCodes

ListView                          lvw             lvwHeadings

MAPI message                      mpm             mpmSentMessage

MAPI session                      mps             mpsSession

MCI                               mci             mciVideo

Menu                              mnu             mnuFileOpen

Month view                        mvw             mvwPeriod

MS Chart                         ch              chSalesbyRegion

MS Flex grid                      msg             msgClients

MS Tab                            mst             mstFirst

OLE container                     ole             oleWorksheet

Option button                     opt             optGender

Picture box                       pic             picVGA

Picture clip                      clp             clpToolbar

ProgressBar                       prg             prgLoadFile

Remote Data                       rd              rdTitles

RichTextBox                       rtf             rtfReport

Shape                             shp             shpCircle

Slider                            sld             sldScale

Spin                              spn             spnPages

StatusBar                         sta             staDateTime

SysInfo                           sys             sysMonitor

TabStrip                          tab             tabOptions

Text box                          txt             txtLastName

Timer                             tmr             tmrAlarm

Toolbar                           tlb             tlbActions

TreeView                          tre             treOrganization

UpDown                            upd             updDirection

Vertical scroll bar               vsb             vsbRate

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章