ASP编码规范

qizhicong2 2009-08-11 02:06:36
第一章 ASP编码规范通述

    ASP编码分为两大部分,一部分为静态文件编码,一部分为包含服务器端脚本的动态文件编码。
    静态文件编码分script编码和HTML编码两部分。
    服务器端编码则分为服务器脚本、客户端脚本、HTML脚本三部分。
    编码规范采用如下约定:
     所有客户端脚本一律使用Javascript
     所有服务器端脚本一律使用VBscript
     静态页面输出一律使用HTML脚本
    本规范不适用于由服务器端脚本所产生的客户端脚本代码。
  第二章 静态文件编码规范:
    静态文件脚本部分采用Javascript编写。输出部分采用HTML标记语言。
  1. HTML标记语言编码规范
  1.1 标记的换行规范:
  * 一个标记必须占用一行。不得出现两个标记在同一行的情况(同一标记的关闭标记除外),如:
  <tr><td>text</td></tr>
  而必须写成:
  <tr>
   <td>text</td>
     <tr>
  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.3 标记的属性赋值规范
    对于接受属性的标记,属性值必须使用双引号或者单引号包围。如:
    <body bgcolor=”red”>
    <font size=’7’>
  1.4 标记的缩进规范
  * 最高一级的父标记采用左对齐顶格方式书写。
  * 下一级标记采用左对齐向右缩进一个Tab的方式书写
    在下一级依此类推,分别左对齐相对于父标记向右缩进一个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<12;I++){

}
  而不是:
  var I;
  for(I=0;I<12,I++){

}
  2.3 对象命名规范
  各种页面对象如text输入框、按钮、下拉选择框在命名时必须使用以下对应前缀:
  * text输入框:txt
  * button按钮:btn
  * select下拉选择框:sel
  * option项:opt
  * form表单:frm
  * frame框架:fra
  * hidden表单项:hdn
  * div标记:div
  * span标记:span
  * 对话框对象:dlg
  * 窗口对象:win
  2.4 函数以及子过程命名规范
  * 函数命名必须使用动词+名词对的方式,并且能够体现函数的功能
  * 函数命名的动词前缀必须是同函数功能相关的完整动词
  * 函数命名第一个单词的首字母小写,后面每一个单词的首字母大写
  第三章 动态文件编码规范
  1. HTML书写规范
    HTML书写规范必须符合静态文件HTML标记书写规范,参考(第二章第一节)
  2. 客户端脚本规范
    动态文件客户端脚本一律采用Javascript书写,并必须符合静态文件编码规范中有关Javascript编码规范的规定(参考第二章第二节)
  3. 服务器端脚本书写规范
    服务器端脚本书写采用VBscript书写
  3.1 命名规范
  3.1.1 VBscript脚本变量命名规范
  * 常量以及全局变量必须全部使用大写字母
  * 常量必须使用CONST_前缀
  * 全局变量必须使用G_前缀
  * 变量名首字母必须小写。
  * 变量名必须使用其类型的所写字符串开始。各种类型的所写字符串如下:
  * 整型变量:int
  * 长整型变量:lng
  * 浮点型变量:flt
  * 双精度变量:dbl
  * 对象引用变量:obj
  * 字符串变量:str
  * Date类型变量:dtm
  * 变量名必须采用有意义的单词命名,如:
  strUserName、lngArrayIndex
  * 变量名除首字母小写外,其他单词首字符必须大写
  * 如果变量名过长可以使用单词缩写,除了被广泛了解的单词缩写以外,所有使用单词所写的变量名必须在定义时给出注释,如:
  dim strAdName ‘用于表示Administrator帐户的名称
  dim strAdminName ‘不用给出注释,Admin被广泛了解
    
  3.1.2 对象命名规范
  各种对象如Connection、Recordset、Command在命名时必须使用以下对应前缀:
  * Connection对象:conn
  * Recordset对象:rs
  * Command对象:cmd
  * Parameter对象:param
  * Field对象:fld
  * Error对象:err
  3.1.3 函数以及子过程命名规范
  * 函数命名必须使用动词+名词对的方式,并且能够体现函数的功能
  * 函数命名的动词前缀必须是同函数功能相关的完整动词
  * 函数命名第一个单词的首字母大写,后面每一个单词的首字母大写
  3.1.4 常用变量命名规范:
    说明:包含在[>中的部分为可省略部分
  * Connection对象:conn[Name>。Name为所连接数据库的服务器名字
  * Recordset变量命名规范:rs[Name>。Name为自定义的同rs存储内容有关的英文单词组合
  * Command对象:cmd[Name>。Name为自定义的同command目的有关的英文单词组合
  * SQL语句字符串变量:strSql[CommandName>。CommandName为自定义的同Sql语句功能相关的英文单词组合,如:
  strSqlUpdateModify
  strSqlInsertUser
  3.2 代码书写规范
  3.2.1 变量明确声明原则
  * 所有ASP程序文件,必须在代码的第一行包含<%option explicit%>。转为变量明确声明模式
  3.2.2 字符集设定原则
  * 所有将对客户端产生中文输出的ASP程序文件,必须在输出前设定Charset为”GB2312”.如:Response.Charset = “GB2312”
  3.2.3 函数使用原则
  * 尽量使用函数封装代码块
  * 连续代码块尽量不要超过50行。最多不得超过70行
  * 尽量使用局部变量。
  * 如有涉及到全局的资源,如Connection,尽量作为函数的参数传入
  * 所有在函数内部创建打开的资源,在退出函数前必须关闭释放。如:Recordset,Command
  3.2.4 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(“”)这样的引用方式
  3.2.5 HTML同服务器端脚本混合使用原则
  * 服务器端脚本标记“<%”必须同其上一行紧邻的标记左对齐,如:
  <table>
  <%
  do while not rs.eof
  %>
原始文章请看这里(http://www.diybl.com/course/4_webprogram/asp.net/netjs/20090318/163080.html)
...全文
36 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧