
ASPCodingSpecificationBELRD-D011-V1.0(2004.10.08).doc
10页北京百星公司研发部 ASP 编码规范 文档编号 BEL_RD-D11-V1.0日期 2004.10.08保密ASP 编码规范北京百星公司研发部2004.10.08北京百星公司研发部 ASP 编码规范 北京百星公司研发部 ASP 编码规范 前 言本标准只记载一般的事项,而在适用于 Project 时,还要依据开发环境、导入制品、顾客的不同而做修改。
本书的对象,用于公司内部从事 ASP 网页开发者,特别是以下列人员为主•专案管理者•专案开发标准策定者•专案开发程式设计者本书是以公司内部使用为目的、若要使用于顾客等其他公司时,请先和专案负责人讨论若对本标准有任何意见,请和专案负责人连络北京百星公司研发部 ASP 编码规范 目 录1. ASP 编码规范通述 .........................................................................................................................................42. 静态文件编码规范: .....................................................................................................................................43. 动态文件编码规范 .........................................................................................................................................64. 排版 ................................................................................................................................................................85. 注释 ................................................................................................................................................................8北京百星公司研发部 ASP 编码规范第 5 页 / 共 10 页1. ASP 编码规范通述ASP 编码分为两大部分,一部分为静态文件编码,一部分为包含服务器端脚本的动态文件编码。
静态文件编码分 script 编码和 HTML 编码两部分服务器端编码则分为服务器脚本、客户端脚本、HTML 脚本三部分编码规范采用如下约定:所有客户端脚本一律使用 javascript所有服务器端脚本一律使用 VBscript静态页面输出一律使用 HTML 脚本本规范不适用于由服务器端脚本所产生的客户端脚本代码2. 静态文件编码规范: 静态文件脚本部分采用 javascript 编写输出部分采用 HTML 标记语言1.HTML 标记语言编码规范1.1 标记的关行规范:* 一个标记必须占用一行不得出现两个标记在同一行的情况(同一标记的关闭标记除外) 如:text而必须写成:text1.2 标记的关闭规范* 静态文件内容必须包含在标记中间* 标记必须包含在标记中间* 对于需要关闭的标记,如: 必须同其关闭标记同时出现如 ……….….…..* 不得出现交叉包含的语句,如: …..1.3 标记的属性赋值规范对于接受属性的标记,属性值必须使用双引号或者单引号包围如: 1.4 标记的缩进规范* 最高一级的父标记采用左对齐顶格方式书写 下一级标记采用左对齐向右缩进一个 Tab 的方式书写北京百星公司研发部 ASP 编码规范第 6 页 / 共 10 页在下一级依此类推,分别左对齐相对于父标记向右缩进一个 Tab 的方式书写* 同一级标记的首字符上下必须对齐。
2. 客户端 javascript 规范2.1 变量命名规范* 常量以及全局变量名必须全部使用大写字母* 变量名首字母必须小写 变量名必须使用其类型的所写字符串开始各种类型的所写字符串如下:* 整型变量: int* 长整型变量: lng* 浮点型变量: flt* 双精度变量: dbl* 对象引用变量: obj* 字符串变量 :str* Date 类型变量:dtm* 变量名必须采用有意义的单词命名,如:strUserName、lngArrayIndex* 变量名除首字母小写外,其他单词首字符必须大写* 如果变量名过长可以使用单词缩写,除了被广泛了解的单词缩写以外,所有使用单词所写的变量名必须在定义时给出注释,如: var strAdName //用于表示 Administrator 帐户的名称var strAdminName //不用给出注释,Admin 被广泛了解2.2 变量使用规范* 变量使用前必须定义没有定义的变量禁止使用* 变量的使用尽量缩小到小的作用域如循环使用 for(var I=0;I中的部分为可省略部分* Connection 对象:conn[Name>Name 为所连接数据库的服务器名字* Recordset 变量命名规范:rs[Name> 。
Name 为自定义的同 rs 存储内容有关的英文单词组合* Command 对象:cmd[Name>Name 为自定义的同 command 目的有关的英文单词组合* SQL 语句字符串变量:strSql[CommandName>CommandName 为自定义的同 Sql 语句功能相关的英文单词组合,如:strSqlUpdateModifystrSqlInsertUser3.3.2 代码书写规范3.3.2.1 变量明确声明原则* 所有 ASP 程序文件,必须在代码的第一行包含 转为变量明确声明模式3.3.2.2 字符集设定原则* 所有将对客户端产生中文输出的 ASP 程序文件,必须在输出前设定 Charset 为”GB2312”.如:Response.Charset = “GB2312”3.3.2.3 函数使用原则* 尽量使用函数封装代码块* 连续代码块尽量不要超过 50 行最多不得超过 70 行* 尽量使用局部变量北京百星公司研发部 ASP 编码规范第 9 页 / 共 10 页* 如有涉及到全局的资源,如 Connection,尽量作为函数的参数传入* 所有在函数内部创建打开的资源,在退出函数前必须关闭释放。
如:Recordset ,Command3.3.2.4 Request、Session、Application 使用规范* 所有需要放入 Session、Application 中的对象,必须采用有意义的英文名字除了被广泛了解的单词缩写以外,不得采用单词缩写如: Session(“cp”) = strCurrentUserIP ‘不允许Session(“CurrentUserIP”) = strCurrentUserIPSession(“Pwd”) = strPwd ‘允许,Pwd 被广泛了解为密码* 所有需要在代码内用到的 Request、Session、Application 中的元素,必须在代码头部赋值给代码内声明的变量 如果获得 Form 中提交的内容,必须使用 Request.Form(“itemName”).* 如果获得 QueryString 中提交的内容,必须使用 Request.QueryString(“itemName”)* 不得在代码中出现 Request(“”)这样的引用方式3.3.2.5 HTML 同服务器端脚本混合使用原则* 服务器端脚本标记“text* 服务器端脚本标记“”同其前面的代码不得在同一行书写* 服务器端脚本标记”%>” 同其最近的”80 字符)要分成多行书写 4.3 不允许把多个短语句写在一行中,即一行只写一条语句 5. 注释北京百星公司研发部 ASP 编码规范第 10 页 / 共 10 页5.1 一般情况下,源程序有效注释量必须在 20%以上 5.2 说明性文件(如.inc 文件等)头部应进行注释,注释必须列出:生成日期、作者、内容、功能、与其它文件的关系、修改日志等 5.3 函数(如 javascript 函数)头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用关系(函数、表)等 5.4 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
不再有用的注释要删除 5.5 注释的内容要清楚、明了,含义准确,防止注释二义性 5.6 注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开 5.7 对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须加以注释,说明其物理含义变量、常量、宏的注释应放在其上方相邻位置或右方 5.8 全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明 5.9 注释与所描述内容进行同样的缩排 5.10 将注释与其上面的代码用空行隔开 5.11 对变量的定义和分支语句(条件分支、循环语句等)必须编写注释 -- 完 --。