程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#組件命名規范【比較全,恩,確實全】

C#組件命名規范【比較全,恩,確實全】

編輯:關於C#
 

首先說明一下,這個是ching寫的,我看他寫的還不錯就復制下來啦,~~哈哈

1.  命名規范
a) 類
【規則1-1】使用Pascal規則命名類名,即首字母要大寫。
eg:
Class Test
{
    ...
}
【規則1-2】使用能夠反映類功能的名詞或名詞短語命名類。
【規則1-3】不要使用“I”、“C”、“_”等特定含義前綴。
【規則1-4】自定義異常類應以Exception結尾。
eg:
Class TestException
{
    ...
}
【規則1-5】文件名要能反映類的內容,最好是和類同名。
 
b) 類字段(類成員)
【規則2-1】用camel規則來命名類成員變量名稱,即首單詞(或單詞縮寫)小寫。
【規則2-2】類字段變量名前可加“_”前綴。
【規則2-3】堅決禁止在普通變量前加“m_”(這是VC老命名規則)。
eg:
Class Test
{
    privatestring myName;
    privatestring _myCoCo;
    ...
}
c)方法
   【規則3-1】方法名采用Pascal規則,第一個字符要大寫。
【規則3-2】方法名應使用動詞或動詞短語。
【規則3-3】類中訪問修飾符或功能相同的方法應該放在一起, 且公共或實現接口的方法在前。
eg:
Class Test
{
      ...
      publicvoid GetData(...)
      {
         ...
      }
 
      privatevoid GetName(...)
      {
         ...
      }
    
      privatestatic void GetCount(...)
      {
         ...
      }
 
 
}
   d)屬性
      【規則4-1】使用名詞定義屬性,屬性使用Pascal規則,首字符大寫
      【規則4-2】屬性和相應字段名稱要關聯, 可以使用“重構”菜單來生成屬性。
eg:
Class Test
{
   private string myName;
   public string MyName
   {
      set
      {
         myName = Value;
      }
      get
      {
         return myName;
      }
   }
}
   e)參數
      【規則5-1】參數采用camel規則命名,且首字符小寫。
      【規則5-2】使用描述性參數名稱,參數名稱應當具有最夠的說明性。
      【規則5-3】不要給參數加匈牙利語類型表示法的前綴。
      【規則5-4】檢查方法所有輸入參數的有效性。
      eg:
      ClassTest
      {
         public void GetData(string name,string strFlag)
         {
            ...
         }
      }
   f)常量
      【規則6-1】只讀常量使用Pascal命名規則,即首字母大寫。
   【規則6-2】枚舉名使用Pascal規則命名,枚舉成員本質屬於常量,命名規則同上。
      【規則6-3】枚舉值從小到大順序定義。
      【規則6-4】靜態字段或屬性采用Pascal規則,即首字符大寫。
      eg:
      ClassTest
      {
         public const double Pi = 3.14159365753;
         private readonly double Pai = 3.14159365753;
      }
   g)接口
      【規則7-1】接口定義使用Pascal規則,且必須以大寫“I”開頭。
      【規則7-2】接口名稱要有意義,中間不要有下劃線“_”等字符。
   【規則7-3】如果類實現了接口,名稱盡量和接口相同, 只是省掉“I”字符。
   eg:注意這裡的接口修飾符只能用public和internal
   interfaceITest
   {
      ...
   }
   h)事件
      【規則8-1】委托名稱采用Pascal規則,即首字符大寫。
   【規則8-2】定義事件的委托要使用EventHandler後綴,且包括sender和e兩個參數。
   【規則8-3】事件用到的參數,名稱要帶EventArgs後綴。
   eg:
   ClassTest
   {
      private delegate void DoTask();
      private event DoTask DoTaskEventHandler;
      private event DoTask DoTaskEventHandler(Object sender,EventArgse);
      private event DoTaskDoTaskEventHandler2(string   strEventArgs)
      {
         ...
      }
      ...
   }
 
i) 命名空間
【規則9-1】命名空間名稱采用Pascal規則,且首字符大寫。
【規則9-2】命名空間名稱盡量反映其內容所提供的整體功能。
eg:
namespace MyTest
{
      ClassTest
    {
       ...
    }
    ...
}
2.  注釋規范
a)文件頭部注釋
【規則1-1】文件都包含文件頭, 要說明文件名、作者、創建時間、變更記錄。
      【規則1-2】推薦采用.NET形式書寫頭部注釋。(待考查)
   b)類及其成員注釋
      【規則2-1】對方法和類使用“///”三斜線注釋。
   【規則2-2】代碼行文注釋采用“//”和“/**/”進行,應該盡量說明問題。
3.行文規范
   a)縮寫規范
      【規則1-1】標識符應當直觀可望文知意,不提倡使用任何縮寫。
   【規則1-2】字符串變量推薦是用“str”或“s”開頭,采用string.Empty來初始化。
   【規則1-3】普通對象可以以“obj”開頭。
   【規則1-4】縮寫可自行定義,一般取單詞的前/後字符組成,以含義直觀為准則。
   【規則1-5】一般情況下不要讓縮寫破壞標識符的含義。
b)排版
   【規則2-1】每行語句至少占一行,如果語句過長(超過一屏),則該語句斷為兩行顯示。
   【規則2-2】把相似的內容放在一起,比如字段、屬性、方法、事件等,使用“#region--#endregion”命令分組。
   【規則2-3】多個程序元素進行對等操作時, 操作符之前、之後或者前後都要加空格。
   【規則2-4】每個方法的源程序行數原則上應該少於200行。(如果超過過多,則需要另寫一方法)
   【規則2-5】語句嵌套層次不得超過3層。
   【規則2-6】避免相同的代碼段在多個地方出現。(盡量避免代碼重復,能復用則復用)
c)語句結構
   【規則3-1】如果使用了異常結構,一定要處理異常, 一般是要寫日志文件。
   【規則3-2】分支語句不應該使用復雜長條件, 應該將長條件封裝成方法。
   【規則3-3】switch語句,case後面必須接break。
   【規則3-4】禁止使用goto語句進行跳轉。
   【規則3-5】行文中嚴禁出現“魔數”,特定含義的常數必須定義成枚舉或常量。
   【規則3-6】不同類型的操作符混合使用時,使用括號給出優先級。
   【規則3-7】不允許使用復雜的操作符組合等。
   【規則3-8】循環、判斷語句的程序塊部分用花括號括起來, 即使只有一條語句。(return;待議)
   【規則3-9】在switch語句中總是要有default字句,建議使用斷言。
   【規則3-10】每個類和方法完成單一的功能,不設計多用途面面俱到的類或方法。
   【規則3-11】嚴禁使用未經初始化的變量,變量通常使用構造方法來初始。
d)代碼縮進
   【規則4-1】碰到大括號要換行。
   【規則4-2】不允許使用Java中的括號換行規范。
e)大小寫
   【規則5-1】不要創建名稱相同,但大小寫區別的任何元素。
   【規則5-2】應當大寫僅有兩個字符的縮寫。(如果只有兩個字符,則都大寫)
   【規則5-3】不要把易混淆的數字和字符放在一起。
   【規則5-4】使用英文命名標識符。
f)重名規范
   【規則6-1】不允許變量名、類名、屬性名、 方法名等與系統標識符重名。(系統標識符見附表)
g)SQL編碼規范
   【規則7-1】SQL語句全部大寫。(本人的習慣是小寫,為了性能,最好是大寫,我自己也得把習慣改改咯,哈哈哈)
   【規則7-2】對較為復雜的SQL語句加上注釋,說明其功能。
   【規則7-3】連接符OR、IN、AND、以及=、<=、>=等前後加空格。
   【規則7-4】使用明確的列代替 SELECT *。
h)軟件架構
   【規則8-1】數據庫中每一張表對應一個實體類/數據傳輸對象(DTO)。
   【規則8-2】實體類名稱使用表名,也可帶有Dto後綴。
   【規則8-3】三層架構應當合理使用,不應生搬硬套。
   【規則8-4】三層架構元素推薦使用後綴:
      數據傳輸對象         XxxxDto
      DAO工廠            XxxDAOFactory
      DAO接口            IXxxxDAO
      服務接口           IxxxxService
      DAO的數據庫實現     XxxxDAOOracle/XxxxDAOInfomix
      業務邏輯           XxxxManager
i)系統
   【規則9-1】在我國內不建議隨便使用設計模式等代碼模式,因為並不流行。
   【規則9-2】系統輸入、資源操作(如內存分配、文件及目錄操作)、網絡操作(如通信、調用等)、任務間的操作(如通信、調用等)時必須進行錯誤、超時、或則異常處理。
   【規則9-3】模塊的編寫應有完善的測試方面的考慮。

各種類型命名規范總結

類型

命名規則

注意事項

實例

類或結構

Pascal

首字符大寫

HttpContext

接口

Pascal

加前綴I

IDataAdaper

枚舉名

Pascal

首字符大寫

CommandType

枚舉值

Pascal

首字符大寫

CommandType.Text

事件

Pascal

首字符大寫

SelectedIndexChanged

自定義異常

Pascal

加後綴Exception

ArgumentException

類公共字段

Pascal

首字符大寫

MaxValue(或_MaxValue)

方法

Pascal

首字符大寫

ToString()

命名空間

Pascal

首字符大寫

System.Xml

屬性

Pascal

首字符大寫

BackColor

保護或私有字段

Camel

首字符小寫

myVariable

參數

Camel

首字符小寫

cmdText

 

 數據類型縮寫規則

數據類型

數據類型縮寫

標准命名實例

Bool

b/is

IsVisable

Float

F

FPrice

Double

D

DPrice

Unit

U

UAge

Int

I

INumber

Char

Ch

ChCode

Byte

Bt

BtImages

String

Str

StrName

Struct

St

StStudent

Window

Wnd

WndMain

ArrayList

Lst

LstStudents

Array

Arr

ArrStudents

Hashtable

Ht

Htstudents

 

Windows控件縮寫規則

控件類型

控件名稱

控件類型縮寫

實例

Label

標簽框

Lbl

LblMessage

LinkLabel

超鏈接標簽框

Llbl

LlblToday

Button

按鈕

Btn

BtnSave

TextBox

文本框

Txt

TxtName

MainMenu

菜單欄

Mmnu

MmnuFile

CheckBox

多選框

Chk

ChkStock

RadioButton

單選框

Rbtn

RbtnSelected

GroupBox

組合框

Gbx

GbxMain

PictureBox

圖片框

Pic

PicImage

Panel

 

Pnl

PnlBody

DataGrid

 

Dgrd

DgrdView

ListBox

 

Lst

LstProducts

CheckedListBox

 

Clst

ClstChecked

ComboBox

組合框

Cbo

CboMenu

ListView

列表視圖

Lvw

LvwBrowser

TreeView

樹視圖

Tvw

TvwType

TabControl

 

Tctl

TctlSelected

DateTimePicker

 

Dtp

DtpStartDate

HscrollBar

 

Hsb

HsbImage

VscrollBar

 

Vsb

VsbImage

Timer

 

Tmr

TmrCount

ImageList

 

Ilst

IlstImage

ToolBar

工具欄

Tlb

TlbManage

StatusBar

狀態欄

Stb

StbFootPrint

OpenFileDialog

 

Odlg

OdlgFile

SaveFileDialog

 

Sdlg

SdlgSave

FoldBrowserDialog

 

Fbdlg

FbdlgBrowser

FontDialog

 

Fdlg

FdlgFoot

ColorDialog

 

Cdlg

CdlgColor

PrintDialog

 

Pdlg

PdlgPrint

 

數據庫對象縮寫規范

數據庫對象

名稱

簡寫

實例

Connection

 

Con

ConNorthwind

Command

 

Cmd

CmdReturnProducts

Parameter

 

Parm

ParmProductID

DataAdapter

 

Dap

DapProducts

DataReader

 

Dtr

DtrProducts

DataSet

 

Ds

DsNorthwind

DataTable

 

Dt

DtProduct

DataRow

 

Drow

DrowRow

DataColumn

 

Dcol

DcolProductID

DataRelation

 

Drl

DrlMasterDetail

DataView

 

Dvw

DvwFilteredProducts

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved