1 ADO.NET 命名規範數據庫
數據類型編程 |
數據類型簡寫ide |
標準命名舉例函數 |
Connection工具 |
con開發工具 |
conNorthwind測試 |
Commandui |
cmdspa |
cmdReturnProducts線程 |
Parameter |
parm |
parmProductID |
DataAdapter |
dad |
dadProducts |
DataReader |
dtr |
dtrProducts |
DataSet |
dst |
dstNorthWind |
DataTable |
dtbl |
dtblProduct |
DataRow |
drow |
drowRow98 |
DataColumn |
dcol |
dcolProductID |
DataRelation |
drel |
drelMasterDetail |
DataView |
dvw |
dvwFilteredProducts |
2 WinForm Control 命名規範
數據類型 |
數據類型簡寫 |
標準命名舉例 |
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 |
fgdlgBrowser |
FontDialog |
fdlg |
fdlgFoot |
ColorDialog |
cdlg |
cdlgColor |
PrintDialog |
pdlg |
pdlgPrint |
3 WebControl 命名規範
數據類型 |
數據類型簡寫 |
標準命名舉例 |
AdRotator |
adrt |
Example |
Button |
btn |
btnSubmit |
Calendar |
cal |
calMettingDates |
CheckBox |
cbo |
cboBlue |
CheckBoxList |
chkl |
chklFavColors |
CompareValidator |
valc |
valcValidAge |
CustomValidator |
valx |
valxDBCheck |
DataGrid |
dgrd |
dgrdTitles |
DataList |
dlst |
dlstTitles |
DropDownList |
ddl |
dropCountries |
HyperLink |
hlk |
hlkDetails |
Image |
img |
imgAuntBetty |
ImageButton |
ibtn |
ibtnSubmit |
Label |
lbl |
lblResults |
LinkButton |
lbtn |
lbtnSubmit |
ListBox |
lst |
lstCountries |
Panel |
pnl |
pnlForm2 |
PlaceHolder |
plh |
plhFormContents |
RadioButton |
rad |
radFemale |
RadioButtonList |
radl |
radlGender |
RangeValidator |
valg |
valgAge |
RegularExpression |
vale |
valeEmail_Validator |
Repeater |
rpt |
rptQueryResults |
RequiredFieldValidator |
valr |
valrFirstName |
Table |
tbl |
tblCountryCodes |
TableCell |
tblc |
tblcGermany |
TableRow |
tblr |
tblrCountry |
TextBox |
txt |
txtFirstName |
ValidationSummary |
vals |
valsFormErrors |
XML |
xmlc |
xmlcTransformResults |
Literal |
ltl |
ltlTitle |
4、數據庫命名規範:
A、表命名:TB_表名,表名首字符大寫,如:DepartmentUsers;
B、表主鍵名稱爲:表名+ID,如Document表的主鍵名爲:DocumentID
C、存儲過程命名:表名+方法,如:p_my_NewsAdd,p_my_NewsUpdate;
D、視圖命名:TV_表名,如:TV_News;
E、Status爲表中狀態的列名,默認值爲「N」,在表中刪除操做將會改變Status的值而不真實刪除該記錄;
F、Checkintime爲記錄添加時間列,默認值爲系統時間;
G、表、存儲過程、視圖等對象的全部都爲dbo,不要使用數據庫用戶名,這樣會影響數據庫用戶的更改。
5、C#編程命名標準:
命名名稱空間的通常規則以下:
CompanyName.TechnologyName
這樣,咱們看到的名稱空間應該是這樣的:
Microsoft.Office
PowerSoft.PowerBuilder
注意:這只是一個原則。第三方公司能夠選擇其它的名字。
避免用公司名稱或其它著名品牌的名稱做爲名稱空間的前綴,這樣會形成兩個公佈的名稱空間有同一個名稱的可能性。
例如: 將微軟提供的Office自動類命名爲Microsoft.Office
使用Pascal大寫方式,用逗號分隔邏輯成分。
例如:Microsoft.Office.PowerPoint
若是你的品牌使用的是非傳統大寫方式,那麼必定要遵循你的品牌所肯定使用的大寫方式,即便這種方式背離了一般的名稱空間大寫規則。
例如: NeXT.WebObjects
ee.cummings
類的命名原則是用名詞或名詞短語命名類,使用Pascal大寫。減小類名中縮寫的使用量。不要使用任何類前綴(好比C),不要使用帶下劃線的字符。
例如: public class FileStream {}
public class Button {}
public class String {}
名稱中各單詞首字母均爲大寫。
例如: FindLastRecord
RedrawMyForm
在內部範圍中避免使用與外部範圍中的名稱相同的名稱。若訪問錯誤變量,則會產生錯誤結果。若變量與同一名稱的關鍵字衝突,則必須在關鍵字前加適當的類型庫以做標識。
例如:如有一個名爲 date 的變量,只能經過調用 System.Date 來使用內部 Date 函數。
函數和方法的命名應該以動詞開始,使用Pascal大寫。不要使用帶下劃線的字符。
例如: InitNameArray
CloseDialog
使用名詞或名詞短語,或者描述行爲的形容詞來命名接口,使用Pascal大寫。 減小接口名中縮寫的使用量,在接口名前加前綴I,以表示這個類型是一個接口。
例如: IComponent(描述性名詞)
ICustomAttributeProvider(名詞短語)
IPersistable(形容詞)
使用描述性參數名。參數名應該具備足夠的描述性,這樣在大多數狀況下參數名和它的種類能夠用來肯定它的意思。根據參數的意思來命名參數,而不是根據參數的種類來命名。咱們但願開發工具能夠用很方便的方式提供關於參數種類的信息,這樣參數名能夠獲得更好的使用,能夠對語義而不是對種類進行描述。可是偶爾使用根據類型命名的參數名也是徹底能夠的。不要使用保留參數。若是在下一個版本中須要更多的數據,能夠增長進來。
例如: Type GetType (string typeName)
string Format (string format, object [ ] args)
用名詞或名詞短語命名屬性,屬性與類型要同樣。 用與一個類型的名稱相同的名字來命名屬性時,就使這個屬性的類型成爲那個類型。雖然聽起來有些奇怪,但這是正確的。
例如: public enum Color {...}
public class Control {
public Color Color {get {...} set {...}}
}
用EventHandloer後綴命名事件處理程序,使用名爲sender和e的兩個參數,Sender參數表明提出事件的對象。Sender參數永遠是一個類型對象,即便它可能使用了更爲特定的類型,與事件相關的狀態被封裝在一個名爲e的事件類範例中。要使用這個類型的正確的、特定的事件類。
例如:public delegate void MouseEventHandler(object sender, MouseEvent e);
命名事件名時,須要有以前和以後的時態概念,所以要使用如今時態和過去時態(不要使用BeforeXxx\\AfterXxx的方式)。例如,能夠被取消的結束事件就有Closing事件和Closed事件。
可以使用縮寫使名稱長度適中,一般,多於 32 個字符的變量名在低分辨率的監視器上難以閱讀。同時,請確保縮寫在整個應用程序中保持一致。
例如:可使用「HTML」代替「HyperText Markup Language」。
² 文件之中不得存在無規則的空行,好比說連續十個空行。通常來說函數與函數之間的空行爲2-3行。
² 在函數體內部,在邏輯上獨立的兩個函數塊可適當空行,通常爲1-2行。
² 每行長度儘可能避免超過屏幕寬度,應不超過80個字符。
² 儘可能用公共過程或子程序去代替重複的功能代碼段。
² 使用括號清晰地表達算術表達式和邏輯表達式的運算順序。如將 x=a*b/c*d 寫成 x=(a*b/c)*d可避免閱讀者誤解爲x=(a*b)/(c*d)。
² 避免採用過於複雜的條件測試。
² 避免過多的循環嵌套和條件嵌套。
² 一個函數不要超過200行。一個文件應避免超過2000行。
² 避免使用goto語句。
² 避免採用多賦值語句,如x = y = z;。
.cs文件的註釋
全部.cs文件開頭都要加上註釋,寫明文件建立時間、做者、用途概述等
例如:
//********************************************************
//新增日期:2004.7.19
//做者:XXX
//內容說明: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//********************************************************
函數過程註釋 全部的函數體開頭都要加上註釋,因此註釋使用.NET註釋規範。
例如:
/// <summary>
/// 構造函數
/// </summary>
/// <param name='is_xxx1'>示例參數1</param>
/// <param name='is_xxx2'>示例參數2</param>
public UpgradeThread(string is_xxx1, string is_xxx2)
{
//…
}
常量變量註釋
全部的常量變量,不管是全局仍是局部使用的,凡是對代碼總體起到關鍵性作用的都須要加上註釋。
例如:
/// <summary>
/// 當前線程指向的備份文件本地保存路徑
/// </summary>
public string StorePath = '';
代碼修改註釋
當開發者維護之前的程序代碼時,須要在修改處的開始及結尾,加上本身的註釋信息。
例如:
//BEGIN 2004-7-19 Jayson 修正了XXX問題略…
//END 2004-7-19 Jayson