1.1 ASP.Net编码规范通述
ASP.Net编码分为两大部分,一部分为静态文件编码,一部分为包含服务器端脚本的动态文件编码。 静态文件编码分Script编码和HTML编码两部分。
服务器端编码则分为服务器脚本、客户端脚本、HTML脚本三部分。
编码规范采用如下约定:
所有客户端脚本一律使用JavaScript
所有服务器端脚本一律使用C#
静态页面输出一律使用HTML脚本
本规范不适用于由服务器端脚本所产生的客户端脚本代码。
1.2 静态文件编码规范
静态文件脚本部分采用JavaScript编写。输出部分采用HTML标记语言。
1.2.1 HTML标记语言编码规范
1.2.1.1 标记的换行规范
* 一个标记必须占用一行。不得出现两个标记在同一行的情况(同一标记的关闭标记除外),如:
<tr><td>text</td></tr>
而必须写成:
<tr>
<td>text</td>
<tr>
1.2.1.2 标记的关闭规范
* 静态文件内容必须包含在<body></body>标记中间
* <body>标记必须包含在<html></html>标记中间
* 对于需要关闭的标记,如:
<html><title><body><table><tr><td><p><textarea><select><font><option><div><span>
必须同其关闭标记同时出现。如
<body>…<p>…<font>….</font>….</p>…..</body>
* 不得出现交叉包含的语句,如:
<p><font>…..</p></font>
1.2.1.3 标记的属性赋值规范
对于接受属性的标记,属性值必须使用双引号或者单引号包围。如:
<body bgcolor=”red”>
<font size=’
1.2.1.4 标记的缩进规范
* 最高一级的父标记采用左对齐顶格方式书写。
* 下一级标记采用左对齐向右缩进一个Tab的方式书写
在下一级依此类推,分别左对齐相对于父标记向右缩进一个Tab的方式书写
* 同一级标记的首字符上下必须对齐。
1.2.2 客户端JavaScript规范
1.2.2.1 变量命名规范
* 常量以及全局变量名必须全部使用大写字母
* 变量名首字母必须小写。
* 变量名必须使用其类型的所写字符串开始。各种类型的所写字符串如下:
* 整型变量:int
* 长整型变量:lng
* 浮点型变量:flt
* 双精度变量:dbl
* 对象引用变量:obj
* 字符串变量:str
* Date类型变量:dtm
* 变量名必须采用有意义的单词命名,如:
strUserName、lngArrayIndex
* 变量名除首字母小写外,其他单词首字符必须大写
* 如果变量名过长可以使用单词缩写,除了被广泛了解的单词缩写以外,所有使用单词所写的变量名必须在定义时给出注释,如:
var strAdName //用于表示Administrator帐户的名称
var strAdminName //不用给出注释,Admin被广泛了解
1.2.2.2 变量使用规范
* 变量使用前必须定义。没有定义的变量禁止使用
* 变量的使用尽量缩小到小的作用域。如循环使用
for(var I=0;I<12;I++){
}
而不是:
var I;
for(I=0;I<12,I++){
}
1.2.2.3 对象命名规范
各种页面对象如text输入框、按钮、下拉选择框在命名时必须使用以下对应前缀:
* text输入框:txt
* button按钮:btn
* select下拉选择框:sel
* option项:opt
* form表单:frm
* frame框架:fra
* hidden表单项:hdn
* div标记:div
* span标记:span
* 对话框对象:dlg
* 窗口对象:win
1.2.3 函数以及子过程命名规范
* 函数命名必须使用动词+名词对的方式,并且能够体现函数的功能
* 函数命名的动词前缀必须是同函数功能相关的完整动词
* 函数命名第一个单词的首字母小写,后面每一个单词的首字母大写
1.3 动态文件编码规范
1.3.1 HTML书写规范
HTML书写规范必须符合静态文件HTML标记书写规范,参考(第二章第一节)
1.3.2 客户端脚本规范
动态文件客户端脚本一律采用JavaScript书写,并必须符合静态文件编码规范中有关JavaScript编码规范的规定(参考第二章第二节)
1.3.3 服务器端脚本书写规范
参看C#命名规则和编码规范 ,补述:
1.3.3.1 字符集设定原则
* 所有将对客户端产生中文输出的ASP程序文件,必须在输出前设定Charset为”GB
1.3.3.2 Request、Session、Application使用规范
* 所有需要放入Session、Application中的对象,必须采用有意义的英文名字。除了被广泛了解的单词缩写以外,不得采用单词缩写。如:
Session(“cp”) = strCurrentUserIP ‘不允许
Session(“CurrentUserIP”) = strCurrentUserIP
Session(“Pwd”) = strPwd ‘允许,Pwd被广泛了解为密码
* 所有需要在代码内用到的Request、Session、Application中的元素,必须在代码头部赋值给代码内声明的变量。
* 如果获得Form中提交的内容,必须使用Request.Form(“itemName”).
* 如果获得QueryString中提交的内容,必须使用Request.QueryString(“itemName”)
* 不得在代码中出现Request(“”)这样的引用方式