繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> 我写的一个asp编码规范.请大家指正一下(版权所有,请不要随便转载)

我写的一个asp编码规范.请大家指正一下(版权所有,请不要随便转载)

2006-06-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:WEB编码规范 编制人:walaqi 第一章 ASP编码规范通述   ASP编码分为两大部分,一部分为静态文件编码,一部分为包含服务器端脚本的动态文件编码。   静态文件编码分Script编码和HTML编码两部分。   服务器端...

WEB编码规范

编制人:walaqi

第一章 ASP编码规范通述

  ASP编码分为两大部分,一部分为静态文件编码,一部分为包含服务器端脚本的动态文件编码。

  静态文件编码分Script编码和HTML编码两部分。

  服务器端编码则分为服务器脚本、客户端脚本、HTML脚本三部分。

  编码规范采用如下约定:

   所有客户端脚本一律使用JavaScript

   所有服务器端脚本一律使用VBScript

   静态页面输出一律使用HTML脚本

  本规范不适用于由服务器端脚本所产生的客户端脚本代码。

第二章 静态文件编码规范:

  静态文件脚本部分采用JavaScript编写。输出部分采用HTML标记语言。

1. HTML标记语言编码规范

1.1 标记的换行规范:

* 一个标记必须占用一行。不得出现两个标记在同一行的情况(同一标记的关闭标记除外),如:

text

而必须写成:

text

  

1.2 标记的关闭规范

* 静态文件内容必须包含在标记中间

* 标记必须包含在标记中间

* 对于需要关闭的标记,如:

  <body><table><tr><td><p><textarea><select><font><option><div><span></p> <p>  必须同其关闭标记同时出现。如</p> <p>  <body>…<p>…<font>….</font>….</p>…..</body></p> <p>* 不得出现交叉包含的语句,如:</p> <p><p><font>…..</p></font></p> <p>1.3 标记的属性赋值规范</p> <p>  对于接受属性的标记,属性值必须使用双引号或者单引号包围。如:</p> <p>  <body bgcolor=”red”></p> <p>  <font size=’7’></p> <p>1.4 标记的缩进规范</p> <p>* 最高一级的父标记采用左对齐顶格方式书写。</p> <p>* 下一级标记采用左对齐向右缩进一个Tab的方式书写</p> <p>  在下一级依此类推,分别左对齐相对于父标记向右缩进一个Tab的方式书写</p> <p>* 同一级标记的首字符上下必须对齐。</p> <p>2. 客户端JavaScript规范</p> <p>2.1 变量命名规范</p> <p>* 常量以及全局变量名必须全部使用大写字母</p> <p>* 变量名首字母必须小写。</p> <p>* 变量名必须使用其类型的所写字符串开始。各种类型的所写字符串如下:</p> <p>* 整型变量:int</p> <p>* 长整型变量:lng</p> <p>* 浮点型变量:flt</p> <p>* 双精度变量:dbl</p> <p>* 对象引用变量:obj</p> <p>* 字符串变量:str</p> <p>* Date类型变量:dtm</p> <p>* 变量名必须采用有意义的单词命名,如:</p> <p>strUserName、lngArrayIndex</p> <p>* 变量名除首字母小写外,其他单词首字符必须大写</p> <p>* 如果变量名过长可以使用单词缩写,除了被广泛了解的单词缩写以外,所有使用单词所写的变量名必须在定义时给出注释,如:</p> <p>var strAdName //用于表示Administrator帐户的名称</p> <p>var strAdminName //不用给出注释,Admin被广泛了解</p> <p>2.2 变量使用规范</p> <p>* 变量使用前必须定义。没有定义的变量禁止使用</p> <p>* 变量的使用尽量缩小到小的作用域。如循环使用</p> <p>for(var I=0;I<12;I++){</p> <p>}</p> <p>而不是:</p> <p>var I;</p> <p>for(I=0;I<12,I++){</p> <p>}</p> <p>2.3 对象命名规范</p> <p>各种页面对象如text输入框、按钮、下拉选择框在命名时必须使用以下对应前缀:</p> <p>* text输入框:txt</p> <p>* button按钮:btn</p> <p>* select下拉选择框:sel</p> <p>* option项:opt</p> <p>* form表单:frm</p> <p>* frame框架:fra</p> <p>* hidden表单项:hdn</p> <p>* div标记:div</p> <p>* span标记:span</p> <p>* 对话框对象:dlg</p> <p>* 窗口对象:win</p> <p>2.4 函数以及子过程命名规范</p> <p>* 函数命名必须使用动词+名词对的方式,并且能够体现函数的功能</p> <p>* 函数命名的动词前缀必须是同函数功能相关的完整动词</p> <p>* 函数命名第一个单词的首字母小写,后面每一个单词的首字母大写</p> <p>第三章 动态文件编码规范</p> <p>1. HTML书写规范</p> <p>  HTML书写规范必须符合静态文件HTML标记书写规范,参考(第二章第一节)</p> <p>2. 客户端脚本规范</p> <p>  动态文件客户端脚本一律采用JavaScript书写,并必须符合静态文件编码规范中有关JavaScript编码规范的规定(参考第二章第二节)</p> <p>3. 服务器端脚本书写规范</p> <p>  服务器端脚本书写采用VBScript书写</p> <p>3.1 命名规范</p> <p>3.1.1 VBScript脚本变量命名规范</p> <p>* 常量以及全局变量必须全部使用大写字母</p> <p>* 常量必须使用CONST_前缀</p> <p>* 全局变量必须使用G_前缀</p> <p>* 变量名首字母必须小写。</p> <p>* 变量名必须使用其类型的所写字符串开始。各种类型的所写字符串如下:</p> <p>* 整型变量:int</p> <p>* 长整型变量:lng</p> <p>* 浮点型变量:flt</p> <p>* 双精度变量:dbl</p> <p>* 对象引用变量:obj</p> <p>* 字符串变量:str</p> <p>* Date类型变量:dtm</p> <p>* 变量名必须采用有意义的单词命名,如:</p> <p>strUserName、lngArrayIndex</p> <p>* 变量名除首字母小写外,其他单词首字符必须大写</p> <p>* 如果变量名过长可以使用单词缩写,除了被广泛了解的单词缩写以外,所有使用单词所写的变量名必须在定义时给出注释,如:</p> <p>dim strAdName ‘用于表示Administrator帐户的名称</p> <p>dim strAdminName ‘不用给出注释,Admin被广泛了解</p> <p>  </p> <p>3.1.2 对象命名规范</p> <p>各种对象如Connection、Recordset、Command在命名时必须使用以下对应前缀:</p> <p>* Connection对象:conn</p> <p>* Recordset对象:rs</p> <p>* Command对象:cmd</p> <p>* Parameter对象:param</p> <p>* Field对象:fld</p> <p>* Error对象:err</p> <p>3.1.3 函数以及子过程命名规范</p> <p>* 函数命名必须使用动词+名词对的方式,并且能够体现函数的功能</p> <p>* 函数命名的动词前缀必须是同函数功能相关的完整动词</p> <p>* 函数命名第一个单词的首字母大写,后面每一个单词的首字母大写</p> <p>3.1.4 常用变量命名规范:</p> <p>  说明:包含在[]中的部分为可省略部分</p> <p>* Connection对象:conn[Name]。Name为所连接数据库的服务器名字</p> <p>* Recordset变量命名规范:rs[Name]。Name为自定义的同rs存储内容有关的英文单词组合</p> <p>* Command对象:cmd[Name]。Name为自定义的同command目的有关的英文单词组合</p> <p>* SQL语句字符串变量:strSql[CommandName]。CommandName为自定义的同Sql语句功能相关的英文单词组合,如:</p> <p>strSqlUpdateModify</p> <p>strSqlInsertUser</p> <p>3.2 代码书写规范</p> <p>3.2.1 变量明确声明原则</p> <p>* 所有ASP程序文件,必须在代码的第一行包含<%option explicit%>。转为变量明确声明模式</p> <p>3.2.2 字符集设定原则</p> <p>* 所有将对客户端产生中文输出的ASP程序文件,必须在输出前设定Charset为”GB2312”.如:Response.Charset = “GB2312”</p> <p>3.2.3 函数使用原则</p> <p>* 尽量使用函数封装代码块</p> <p>* 连续代码块尽量不要超过50行。最多不得超过70行</p> <p>* 尽量使用局部变量。</p> <p>* 如有涉及到全局的资源,如Connection,尽量作为函数的参数传入</p> <p>* 所有在函数内部创建打开的资源,在退出函数前必须关闭释放。如:Recordset,Command</p> <p>3.2.4 Request、Session、Application使用规范</p> <p>* 所有需要放入Session、Application中的对象,必须采用有意义的英文名字。除了被广泛了解的单词缩写以外,不得采用单词缩写。如:</p> <p>Session(“cp”) = strCurrentUserIP ‘不允许</p> <p>Session(“CurrentUserIP”) = strCurrentUserIP</p> <p>Session(“Pwd”) = strPwd ‘允许,Pwd被广泛了解为密码</p> <p>* 所有需要在代码内用到的Request、Session、Application中的元素,必须在代码头部赋值给代码内声明的变量。</p> <p>* 如果获得Form中提交的内容,必须使用Request.Form(“itemName”).</p> <p>* 如果获得QueryString中提交的内容,必须使用Request.QueryString(“itemName”)</p> <p>* 不得在代码中出现Request(“”)这样的引用方式</p> <p>3.2.5 HTML同服务器端脚本混合使用原则</p> <p>* 服务器端脚本标记“<%”必须同其上一行紧邻的标记左对齐,如:</p> <p><table></p> <p><%</p> <p>do while not rs.eof</p> <p>%></p> <p><tr></p> <p><td>text</td></p> <p></tr></p> <p><%</p> <p>rs.movenext</p> <p>loop</p> <p>%></p> <p></table></p> <p>* 服务器端脚本标记“<%”同其后的代码不得在同一行书写</p> <p>* “%>”同其前面的代码不得在同一行书写</p> <p>* 服务器端脚本标记”%>”同其最近的”<%”标记对齐</p> <p>* 服务器端内部的HTML代码依据静态文件的HTML缩进规则编写,不遵循服务器端脚本缩进规则</p> <p>* HTML标记内部的代码,依据服务器端脚本的缩进规则,不遵循HTML代码缩进规则</p> <p>第四章 常见错误</p> <p>1. ADO的事务处理</p> <p>1.1 错误代码:80004005。</p> <p>1.1.1 错误描述:</p> <p>  Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'</p> <p>  不能在 firehose 方式下启动事务</p> <p>1.1.2 解决方法:</p> <p>  在开始ADO的事务的时候,必须首先关闭使用同一个连接对象打开的记录集,或者在打开那些游标集之前,设置游标集位置类型为adUseClient.(使用客户端游标集)</p> <p>  </p> <p>第五章 代码习惯书写示例</p> <p>1. ADO对象的使用</p> <p>1.1 ADODB.Connection对象</p> <p>1.2 ADODB.Command对象</p> <p>1.3 ADODB.Recordset对象</p> <p>1.3.1 创建:</p> <p>  Set rs = Server.CreateObject(“ADODB.Recordset”)</p> <p>  rs.CursorLocation = adUseClient</p> <p>  rs.Open strSql,conn,1[,1] ‘必须指定游标类型</p> </div> </div> <script type="text/javascript"> function ImgZoom(Id)//重新设置图片大小 防止撑破表格 { var w = $(Id).width; var m = 550; if(w < m) { return; } else { var h = $(Id).height; $(Id).height = parseInt(h*m/w); $(Id).width = m; } } window.onload = function() { var Imgs = $("content").getElementsByTagName("img"); var i=0; for(;i<Imgs.length;i++) { ImgZoom(Imgs[i]); } } </script> <!--自定义字段--> <table width="100%" align="center" cellspacing="1" cellpadding="5" bgcolor="#cccccc"> </table> <!--自定义字段--> <div class="content_left_1"> <!--分页--> <div class="td_center"></div> <div class="content_h3">责任编辑:<a href="/member/member.php?username=admin" class="member_url">admin</a></div> <div class="mar_10"><span class="font_1">本文引用地址:</span> <span class="border_2"><a href="http://www.3pcode.com/asp/2006/06/83338.htm">http://www.3pcode.com/asp/2006/06/83338.htm</a></span> </div> <!--上下文--> <div class="border_1" id="pre_and_next"></div> </div> <div id="par" class="iconbox"> <form action="/mail/sendmail.php" name="sendmail" id="sendmail"> <input type="hidden" name="title" value="推荐《我写的一个asp编码规范.请大家指正一下(版权所有,请不要随便转载)》" /> <input type="hidden" name="content" value="<a href=http://www.3pcode.com/asp/2006/06/83338.htm target=_blank>我写的一个asp编码规范.请大家指正一下(版权所有,请不要随便转载)<br/>http://www.3pcode.com/asp/2006/06/83338.htm</a>" /> </form> <a href="#comment" class="comment_icon">发表评论</a> <a href="javascript:window.external.addFavorite(window.location,'我写的一个asp编码规范.请大家指正一下(版权所有,请不要随便转载)')" class="favorites_icon">加入收藏</a> <a href="javascript:$('sendmail').submit();" class="friend_icon">告诉好友</a> <a href="javascript:window.print();" class="print_icon">打印本页</a> <a href="javascript:window.close()" class="close_icon">关闭窗口</a> <a href="#top" class="top_icon">返回顶部</a> </div> <!--相关文章列表--> <div class="cat_title"> <div class="cat_name">相关文章</div> <div class="cat_url"><a href="#" class="more"></a></div></div> <div> <ul class="ListTitle"><li> <a href="/asp/2005/11/75789.htm" class="tag_title_link">判断checkbox是否至少有选择一项</a> </li> <li> <a href="/asp/2004/10/3819.htm" class="tag_title_link">我写的一个asp编码规范.请大家指正一下(版权所有,请不要随便转载)</a> </li> </ul> </div> <script type="text/javascript" src="/comment/list_js.php?keyid=7&itemid=83338&commentnum=10&ordertype=1&title=%CE%D2%D0%B4%B5%C4%D2%BB%B8%F6asp%B1%E0%C2%EB%B9%E6%B7%B6.%C7%EB%B4%F3%BC%D2%D6%B8%D5%FD%D2%BB%CF%C2%28%B0%E6%C8%A8%CB%F9%D3%D0%2C%C7%EB%B2%BB%D2%AA%CB%E6%B1%E3%D7%AA%D4%D8%29"></script> </div> <div class="content_right"> <div class="div_border_2"> <div class="rightcats"><h1>最新文章</h1><h2><a href="#" class="more">更多</a></h2></div> <div> <ul class="ListTitle"><li> <a href="/asp/2006/07/84206.htm" title="终极防范上传漏洞!" target="_blank" class="tag_title_link">终极防范上传漏洞!</a> </li> <li> <a href="/asp/2006/07/84205.htm" title="获得connect string简单方法" target="_blank" class="tag_title_link">获得connect string简单方法</a> </li> <li> <a href="/asp/2006/07/84204.htm" title="VerifyCode(asp),gif验证码生成技术!比动网先进N倍" target="_blank" class="tag_title_link">VerifyCode(asp),gif验证...</a> </li> <li> <a href="/asp/2006/07/84203.htm" title="JS+ASP打造无刷新新闻列表" target="_blank" class="tag_title_link">JS+ASP打造无刷新新闻列表</a> </li> <li> <a href="/asp/2006/07/84202.htm" title="ASP系列讲座(十三)向浏览器传送脚本" target="_blank" class="tag_title_link">ASP系列讲座(十三)向浏...</a> </li> <li> <a href="/asp/2006/07/84201.htm" title="ASP系列讲座(十二)向浏览器发送内容" target="_blank" class="tag_title_link">ASP系列讲座(十二)向浏...</a> </li> <li> <a href="/asp/2006/07/84200.htm" title="ASP系列讲座(十一)ActiveX 组件" target="_blank" class="tag_title_link">ASP系列讲座(十一)Act...</a> </li> <li> <a href="/asp/2006/07/84199.htm" title="ASP系列讲座(十)ASP 内建对象" target="_blank" class="tag_title_link">ASP系列讲座(十)ASP 内...</a> </li> <li> <a href="/asp/2006/07/84198.htm" title="ASP系列讲座(九)设置对象作用域" target="_blank" class="tag_title_link">ASP系列讲座(九)设置对...</a> </li> <li> <a href="/asp/2006/07/84197.htm" title="ASP系列讲座(八)使用集合" target="_blank" class="tag_title_link">ASP系列讲座(八)使用集合</a> </li> </ul> </div> <div class="rightcats"><h1>推荐文章</h1><h2><a href="/asp/search.php?catid=44&posid=1&search=1" class="more">更多</a></h2></div> <div> <ul class="ListTitle"><li> <a href="/asp/2006/07/84206.htm" title="终极防范上传漏洞!" target="_blank" class="tag_title_link">终极防范上传漏洞!</a> </li> <li> <a href="/asp/2006/07/84205.htm" title="获得connect string简单方法" target="_blank" class="tag_title_link">获得connect string简单方法</a> </li> <li> <a href="/asp/2006/07/84204.htm" title="VerifyCode(asp),gif验证码生成技术!比动网先进N倍" target="_blank" class="tag_title_link">VerifyCode(asp),gif验证...</a> </li> <li> <a href="/asp/2006/07/84203.htm" title="JS+ASP打造无刷新新闻列表" target="_blank" class="tag_title_link">JS+ASP打造无刷新新闻列表</a> </li> <li> <a href="/asp/2006/07/84202.htm" title="ASP系列讲座(十三)向浏览器传送脚本" target="_blank" class="tag_title_link">ASP系列讲座(十三)向浏...</a> </li> <li> <a href="/asp/2006/07/84201.htm" title="ASP系列讲座(十二)向浏览器发送内容" target="_blank" class="tag_title_link">ASP系列讲座(十二)向浏...</a> </li> <li> <a href="/asp/2006/07/84200.htm" title="ASP系列讲座(十一)ActiveX 组件" target="_blank" class="tag_title_link">ASP系列讲座(十一)Act...</a> </li> <li> <a href="/asp/2006/07/84199.htm" title="ASP系列讲座(十)ASP 内建对象" target="_blank" class="tag_title_link">ASP系列讲座(十)ASP 内...</a> </li> <li> <a href="/asp/2006/07/84198.htm" title="ASP系列讲座(九)设置对象作用域" target="_blank" class="tag_title_link">ASP系列讲座(九)设置对...</a> </li> <li> <a href="/asp/2006/07/84197.htm" title="ASP系列讲座(八)使用集合" target="_blank" class="tag_title_link">ASP系列讲座(八)使用集合</a> </li> </ul> </div> <div class="rightcats"><h1>热点文章</h1><h2><a href="/asp/search.php?catid=44&ordertype=3&search=1" class="more">更多</a></h2></div> <div> <ul class="ListTitle"> </ul> </div> </div> </div> <script type="text/javascript" src="/asp/show_js.php?itemid=83338"></script> </div> <div id="footer_new"> <a href="/link/" target="_blank">友情链接</a> | <a href="http://www.3pcode.com/page/joinus.html" target="_blank">诚聘英才</a> | <a href="http://www.3pcode.com/page/aboutus.html" target="_blank">关于我们</a> | <a href="http://www.3pcode.com/page/announce.html" target="_blank">版权声明</a> | <a href="http://www.3pcode.com/page/contactus.html" target="_blank">联系我们</a> | <a href="http://www.3pcode.com/page/ads.html" target="_blank">广告服务</a> <Br> 3P代码网 <script type="text/javascript" src="/stat/stat.php"></script>     <a href="http://www.miibeian.gov.cn/" target="_blank">粤ICP备05068581号</a>     </div> <script type="text/javascript" src="/include/js/Std_StranJF.Js"></script> <script language='javascript' src='http://utk.baidu.com/usv/uc.sv?pe=lnhwgEc94Un79yiaAyxmQacVzSA=&sn=3164&an=69358&rn=829'></script> </body> </html>