編碼規範
一、編碼篇
1、控件命名
控件類型 |
控件類型簡寫 |
標準命名舉例 |
AdRotator |
ar |
arExample |
Button |
btn |
btnSubmit |
Calendar |
cal |
calMettingDates |
CheckBox |
ckx |
ckxBlue |
CheckBoxList |
chkl |
chklFavColors |
CompareValidator |
valc |
valcValidAge |
CustomValidator |
valx |
valxDBCheck |
DataGrid |
dg |
dgTitles |
DataList |
dl |
dlTitles |
DropDownList |
drop |
dropCountries |
HyperLink |
hl |
hlDetails |
Image |
img |
imgAuntBetty |
ImageButton |
ibtn |
ibtnSubmit |
Label |
lbl |
lblResults |
LinkButton |
lbtn |
lbtnSubmit |
ListBox |
lb |
lbCountries |
Panel |
pnl |
pnlForm2 |
PlaceHolder |
ph |
phFormContents |
RadioButton |
rbtn |
rbtnFemale |
RadioButtonList |
rbl |
rblGender |
RangeValidator |
valg |
valgAge |
RegularExpressionValidator |
Vale |
valeEmailValidator |
Repeater |
Rpt |
rptQueryResults |
RequiredFieldValidator |
Valr |
valrFirstName |
Table |
Tbl |
tblCountryCodes |
TableCell |
tc |
tcGermany |
TableRow |
tr |
trCountry |
TextBox |
txt |
txtFirstName |
ValidationSummary |
vals |
valsFormErrors |
XML |
xml |
xmlTransformResults |
備註:1、使用駝峯式命名規則,單詞首字母大寫,其他小寫。 2、驗證控件的使用:當出錯時驗證控件ValidationSummary文字顯示錯誤提示。 |
2、窗體
規則:類名+操作名
示例:Student(不加操作名爲主要窗體)
StudentEdit(添加或修改的頁面)
StudentDB(類)
注意:StudentEdit,這裏和存儲過程命名規則不同,Edit有編輯的意思, 而往往Insert和Update都在同一個頁面,所以這裏用Edit
3、數據集
規則:1、獲取單個表數據:DS+實際表名
2、獲取多個表數據:DS+小模塊名
3、獲取所有表數據:DS+模塊名
示例:1、DSstudent.xsd
2、DSstu.xsd
3、DScsm.xsd
4、報表
規則:1、打印單個表數據:RPT + 實際表名
2、打印多個表數據:RPT + 小模塊名
3、打印所有表數據:RPT + 模塊名
示例:1、RPTstudent.rpt
2、RPTstu.rpt
3、RPTcsm.rpt
5、變量
規則:首字母大寫,兩個或兩個以上的單詞時,使用駝峯表示法。循環時的變 量通常用i,j
示例:State,UserName
注意:儘量不要使用靜態變量
6、對象
示例:SqlCommand com
SqlConnection con
SqlDataAdapter da
SqlDataReader dr
IDataReader idr
SqlParameter para
DataSet ds
……
7、方法
規則:1、一個方法對單個表操作時:表名 + 操作名
2、一個方法對多個表操作時:小模塊名 + 操作名
3、一個方法對全局都操作時:模塊名 + 操作名
示例:1、StudentSelect() // 無條件查詢
StudentSelectByID() // 通過ID查詢
StudentSelectByIDReturnName() // 通過ID查詢,返回姓名
StudentInsert() // 添加
……
2、stuSelect()
3、csmSelect()
8、參數
規則:和數據庫中字段名完全一樣
示例:如數據庫中字段叫做Name,則該參數也命名爲Name
9、註釋
規則: 1、功能,註釋不能太長。
2、編碼的同時書寫註釋。
3、重要變量必須有註釋,變量註釋和變量在同一行。
4、典型算法必須有註釋。
5、在循環和邏輯分支地方的上行必須就近書寫註釋。
6、程序段或語句的註釋在程序段或語句的上一行
7、在代碼交付之前,必須刪掉臨時的或無關的註釋。
8、每個.cs文件開頭添加正則註釋(模塊名,文件名,作者,創建日期)。
注意: 1、註釋寫在最上面。
2、自定義函數開頭添加正則註釋(名稱,功能,參數,返回值)。
示例:1-7(略)
/// 文 件 名:
/// 模 塊 名:
/// 作 者:
/// 創建日期:
namespace Pearl.DesktopModules.Linkmans
……
10、方法
/// <summary>
/// 按照ID刪除聯繫人羣組
/// </summary>
/// <param name="ID">ID</param>
public void LinkmansGroupDelete(int ID)
{
SqlHelper.ExecuteNonQuery(base.connectionString,"LinkmansGroupDelete",ID);
}
11、異常處理
1、發生異常時,給出友好的消息給用戶。
2、與數據庫交互的代碼都要加上錯誤處理,並在錯誤發生時將錯誤信息保存。
(調用日誌模塊保存)
注意:用到DataReader時,一定要在finally中關閉它。
二、數據庫篇
1、數據庫名
規則:項目的英文名稱 + 項目開發年份
示例:CollegeStudentManage2006
2、表名
規則:模塊名_小模塊名_實際表名
示例:ss_Stu_Student
(ss: Sirius Studio)
(stu: 學生信息模塊名稱)
(student: 學籍表)
3、存儲過程
規則:模塊名_小模塊名_類名+操作名
示例:ss_Stu_StudentInsert
ss_Stu_StudentUpdate
ss_Stu_StudentDelete
ss_Stu_StudentSelect
ss_Stu_StudentSelectByID
ss_Stu_StudentOrderByName
注意:Insert,Update,Delete,Select,OrderBy等,要與數據庫語法一致。
4、索引
規則:僅在查詢時需要的列上創建索引。
5、字段命名
規則:與相關的“信息化標準”命名一致。無統一標準的,按以下命名:
主鍵:規則:ID (IDENTITY)
示例:ID
其餘字段:規則:英文,駝峯表示法
(兩個單詞或兩個以上單詞時,每個單詞首字母大寫,其它字母小寫)
示例:Name,UserName
其它:規則:較短的 NVARCHAR(50)
較長的 NVARCHAR(200)
特長的 NVARCHAR(1000)
三、界面篇
一、佈局
頁面:寬度不要超過770
控件:(通常情況下的擺放位置)
TreeView:左側,寬度180。
DataGrid: 右上,根據頁面情況分頁。
Lable: 上下左右無間距(最後用樣式表控制間距)。
Button: 右下,多個Button時,上下左右無間距(最後用樣式表控制間距)。
二、樣式表
儘量用CSS樣式文件控制整個界面風格。
規則:控件前綴+Default
示例:(下表)
控件類型 |
控件類型簡寫 |
樣式命名舉例 |
Button |
btn |
btnDefault |
// 按鈕上文字較多,按鈕較長時 btnLong |
||
// 按鈕上文字較少,按鈕較短時,如按鈕上只有一個文字時,這種情況不常見 btnShort |
||
// 主要用於項目裏所有較長的按鈕同樣長度,所有較段的按鈕同樣長度 |
||
DataGrid |
dg |
dg_headerDefault dg_itemDefault dg_footerDefault |
DropDownList |
drop |
dropDefault |
// 下拉列表文字較多,較長時 dropLong |
||
// 下拉列表文字較少,較短時 dropShort |
||
// 主要用於項目裏所有長的下拉列表同樣長度,所有短的下拉列表同樣長度 |
||
Label |
lbl |
lblDefault |
// 主要標題 lblTitle |
||
// 副標題 lblSubhead |
||
// 小標題 lblCrosshead |
||
// 比較醒目的錯誤信息 lblMessage |
||
// 日期標籤 lblDate |
||
TextBox |
txt |
txtDefault |
// 日期文本 txtDate |
||
// 較長文本 txtLong |
||
// 較短文本 txtShort |
||
Calendar |
cal |
calDefault |
CheckBox |
chk |
chkDefault |
CheckBoxList |
chkl |
chklDefault |
CompareValidator |
valc |
valcDefault |
CustomValidator |
valx |
valxDefault |
DataList |
dlst |
dlstDefault |
HyperLink |
lnk |
lnkDefault |
Image |
img |
imgDefault |
ImageButton |
ibtn |
ibtnDefault |
LinkButton |
lbtn |
lbtnDefault |
ListBox |
lst |
lstDefault |
Panel |
pnl |
pnlDefault |
PlaceHolder |
plh |
plhDefault |
RadioButton |
rad |
radDefault |
RadioButtonList |
radl |
radlDefault |
RangeValidator |
valg |
valgDefault |
RegularExpression |
vale |
valeDefault |
Repeater |
rpt |
rptDefault |
RequiredFieldValidator |
valr |
valrDefault |
Table |
tbl |
tblDefault |
TableCell |
tblc |
tblcDefault |
TableRow |
tblr |
tblrDefault |
ValidationSummary |
vals |
valsDefault |
XML |
xmlc |
xmlcDefault |