编码规范
一、编码篇
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 |