程序规范
1、 命名中使用英文名称,杜绝使用拼音、英文首字母组合。
2、 命名空间、类命名定义采用英文首字母大写,如:UserInfo,接口采用:IUser
3、 页面空间命名使用开头3字母前缀。详细见附表:
4、 私有变量、局部变量采用首字母小写,后面的单词首字母大写,如:userName
5、 公共变量及属性采用单词首字母大写,如:UserName
6、 方法名称统一使用单词首字母大写,并使用动名词形式,如:SetUserName。方法中的参数采用私有变量的命名方式。
7、 if、while、for、foreach等语句即使后面只有一句逻辑,也要使用大括号。
8、 大括号“{”、“}”放在单独的行中。
9、 .cs文件开头需使用注释说明建立者,建立日期等注释。
// ==========================================
// Author:<AuthorName>
// Create date: <Create Date>
// Description:
<Description>
// ==========================================
10、 类、方法、属性注释,采用标准注释。即连续打三个“/”开发环境自动生成注释框架。
11、 常量命名全部使用大写单词,单词之间使用下划线“_”连接。
12、 修饰符,如:public、protected、private等,在限定类或者方法的时候最小化作用范围。
13、 在引用命名空间的时候,系统命名空间在上,自定义命名空间在下。系统和自定义命名空间之间留空行。
14、 在引用类、函数、变量时不能使用完全限定名。(继承Page除外)
15、 方法之间必须有空行隔开。
16、 页面文件命名采用单词首字母大写,如:UserList.aspx其中页面推荐命名:
² 列表页面使用类似XxxxxList.aspx方式命名。
² 数据新增页面使用类似:XxxxxAdd.aspx方式命名。
² 数据编辑页面使用类似:XxxxxEdit.aspx方式命名。
² 统计界面使用类似:XxxxxStat.aspx方式命名。
² 详细数据浏览使用类似:XxxxxInfo.axpx方式命名。
² 综合查询功能页面使用类似:XxxxxSearch.aspx方式命名。
² 多语言化页面要在App_GlobalResources、App_LocalResources文件夹下面对应相应的文件名建立文本文件,如:UserList.aspx.txt,此文件描述需要多语言化的内容。
注:英文全称存在简写的,可使用简写。如:Information可使用Info,Statistic可使用Stat。表示状态的Status使用全称。
尽量使用英文中原有的简写,不要自创简写。
数据库命名
1、 数据库表、视图、存储过程命名按照如下格式:
表:T_User,视图V_User,存储过程P_UserList,主键PK_UserId,外键FK_xxxxx,索引IX_LoginId。
以后如果需要分级则采用类似命名:P_BBS_UserList
规则为开头简写大写字母加下划线加全称英文单词,英文单词首字母大写。
以上开头字母为暂定格式,正是项目格式待定。
2、 数据库语句中SQL关键字,系统默认参数、变量全部大写。
3、 数据库存储过程参数采用@+英文全称的命名方式,如:@UserId,英文单词首字母大写。
4、 多表交叉查询语句不使用表别名,使用完整的限定名。
5、 查询语句中的字段大小写于数据表设计时使用的大小写一样。
存储过程标准注释参考:
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE
PROCEDURE <Procedure_Name, sysname, ProcedureName>
-- Add the parameters for the stored procedure here
<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
END
GO
控件命名
注:该空间命名前缀仅适用于*.aspx页面上面的控件ID的命名。如果是在*.aspx.cs文件中自己写的动态生成控件的命名,遵循一般的变量命名规则。
前缀
|
示例
| |
Label
|
lbl
|
lblUserName
|
TextBox
|
tbx
|
|
Panel
|
pnl
|
|
Button
|
btn
|
|
LinkLabel
|
llb
|
|
CheckBox
|
cbx
|
|
RadioButton
|
rbn
|
|
GroupBox
|
gbx
|
|
PictureBox
|
pbx
|
|
Repeater
|
rpt
|
|
DataList
|
dlt
|
|
GridView
|
gdv
|
|
DataGrid
|
dtg
|
|
ListBox
|
lbx
|
|
CheckedListBox
|
clb
|
|
ComboBox
|
cmb
|
|
ListView
|
ltv
|
|
TreeView
|
trv
|
|
TabControl
|
tbc
|
|
DateTimePicker
|
dtp
|
|
MonthCalendar
|
mcd
|
|
HScrollBar
|
hsb
|
|
VScrollBar
|
vsb
|
|
Timer
|
tmr
|
|
Spliter
|
spl
|
|
DomainUpDown
|
dud
|
|
NumericUpDown
|
nud
|
|
TrackBar
|
tkb
|
|
ProcessBar
|
prb
|
|
RichTextBox
|
rtb
|
|
ImageList
|
iml
|
|
HelpProvider
|
hlp
|
|
ToolTip
|
tlt
|
|
ContextMenu
|
ctm
|
|
ToolBar
|
tlb
|
|
StatusBar
|
stb
|
|
NotifyIcon
|
nti
|
|
OpenFileDialog
|
ofd
|
|
SaveFileDialog
|
sfd
|
|
FolderBrowserDialog
|
fbd
|
|
FrontDialog
|
ftd
|
|
ColorDialog
|
cld
|
|
PrintDialog
|
ptd
|
|
PrintPreviewDialog
|
ppd
|
|
PrintPreviewControl
|
ppc
|
|
ErrorPrivider
|
erp
|
|
PrintDocument
|
prd
|
|
PageSetupDialog
|
psd
|
|
CrystalReportViewer
|
crv
|
|