动态网站开发规范

  最近根据自己的开发经历和遇到的问题、不足总结了一下,然后在网上看了一些相关文章,深有同感,总结出来,和大家讨论一下,如果有什么地方有缺陷,希望大家砸砸!这个文挡会在公司内部流转开,成为日后的“教训集”吧!

咱们共同学习,共同提高吧!



一:关于网站的开发及目录组织结构
1、      在开始做一个网站的时候,一定要事先规划,有哪些栏目,该怎么安排,哪些放到导航条,哪些是哪一个的二级栏目?这些问题在开始就应该想清楚然后再做---否则事后修改很麻烦!
2、      正常情况下,每一个子栏目都建立相应的文件夹,并且文件夹的命名用英文描述该目录的文件夹用途,如图片信息放到 image 文件夹下,关于我们放到 AboutUs 文件夹下……。建立目录的目录层次不应该太深,一般情况下文件应该是平行并列的位置。
3、      一般的,在网站的根目录下放只放一个首页,其余的分别放到文件夹中,使目录更加清晰。在比较好的一种文件组织下,文件目录应该类似这样组织:
 
这样组织有几个好处:
1)      便于我们内部开发维护和管理;
2)      使用相对路径的时候不容易出现图片、文件引用错误;
3)      有利于搜索优化----(这个不知道是不是很正确的)

二:关于文件和文件夹明明规范
a) 必须用小写英文字母命名;
b) 文件名要使用有意义的常见的英文单词。若文件名由多个单词组成,除第一个单词的首字母小写外,其余单词的首字母都用大写英文字母,例如:aboutUs.asp, newHorizon.gif;或使用下划线表示,如 Show_Product.asp
c) 不许用空格键;不允许是用中文。
d) 所有的包含文件都用asp作为扩展名;公用的文件放到一个专用的文件夹中,便于管理和修改;
e) 不用汉语和汉语拼音命名。
f) 使用虚拟绝对路径。举例:<img src=”/news/images/logo.gif”>。

图片文件命名规则:
a) 每一个栏目里必须建立一个images文件夹来存放图片,例如:一个主菜单里分五个栏目:aboutUs; products; community; forum; joinUs,则需要在每一个栏目下建立一个images文件夹来存放相关栏目所需的图片;
b) 在所有图片中,若是相片,则存成jpg格式, 若是按钮或其它不太复杂的图片,则存成gif格式;
c) 若是按钮图片,则命名为:btn+数字+状态(over/out).gif,若是标志图片,则命名为logo+有意义的名称.gif,其它图片则命名为:有意义的名称.gif/jpg;

三、 HTML编码及命名规则:
a)为title赋值;---如果是 ASP 文件,则可以定义一个常量表示出来;
b) HTML文件加图片,即一个网页总长度限制在50k;
c)定义每页的background color,即使background color为白色,也必须把它定义在<body>标签里;
d) 用级联格式页(即CSS)定义显示方面的内容,例如:字体、边框等等;强烈反对使用 <font color=#ff0000> 等格式控制文本颜色等,使页面向标准化靠近;
e) 用Dreamweaver MX 及以上的版本作为作为HTML的开发工具;
f) 设计以800*600作为显示器的标准;
g) 用IE5.0和Netscape5.0作为标准测试浏览器;
h) 图片的尺寸不能超过250*250,图片的大小不能超过30K;
i) 尽量不用Frame;
j) 尽量避免使用动态HTML,例如:层… …
k) 使用封闭式标签(balanced tags)
l) 类似于<html></html>,<head></head>以及<body></body>这类标签,一页中只能用一次,以避免在Netscape浏览器里出现刷新问题,在被包含文件中,不允许用以上标签;
m) 源代码要格式良好(这一点尤其重要),要像其他程序源码一样有缩进;
n) 不允许使用中文全角空格。
o) Table的嵌套不超过五层;
p) 所有内容都放至在表格中控制位置,避免用层来控制位置;
q) <form></form>标签必须在<table></table>标签外;
r) 不允许用保留字作为form的名字;
s) 必须规定form里的text field的最大尺寸不能超过数据库里的相应字段的最大尺寸;
t) 在一页中尽量不要用太多的form;
u) 在<table>标签中添加一个id属性,在相应的</table>标签后添加一个注释“<!― end table of id -->”。例如:
<table id=”header”>
……
</table><!― end table of header -->
v) 在空的<td></td>标签中插入空白图以避免Netscape中出现问题;
w) 图片一定要指定尺寸大小;
x) 图片和链接都不允许用本地路径,使用虚拟绝对路径。---(这个还有待商议)

四、 脚本编写事项
a) 客户端使用JavaScript;
b) 服务器端如果使用ASP,则脚本使用VBScript;
c) JavaScript编码规则
i. 变量和方法首单词全部用小写字母,后面其他首字母大写。
ii. 所有的变量都必须声明。
iii. 每行都必须用分号“;”结尾。
iv. 常用的一些函数归类,使用包含文件,举例:<script language="JavaScript" src="/include/html/string.js"></script>。
文 件 说 明
/include/html/form.js 与表单form有关的一些函数,如检查子段是否为空,检查Email格式等等。
/include/html/string.js 跟字符串处理有关的函数。
d) ASP使用的VBScript编码规则
1). 变量首单词全部用小写字母,并且用三个字母来说明变量的类型,其他单词首字母要大写。举例:intCount,lngSum,dblSum,objConn……
2). 所有过程和函数的单词首字母都必须大写。
3). 尽量多使用包含文件,使显示与控制分开,实现模块化,举例:<!--#include virtual="/include/asp/standard.asp"-->。如有条件运行服务器端的COM组件就尽量使用服务器端的COM或COM+组件。常用的被包含文件如下表
     文 件 说 明
/include/asp/standard.asp 每个asp文件都必须地一个包含的文件,其中定义一些最常用的常量、变量和函数。
/include/asp/form.asp 定义了一些在表单处理中常用的常量、变量和函数。
/include/asp/dataBase.asp 定义了一些在数据库处理中常用的常量、变量和函数。譬如连结字符串的定义等。
对象命名规范
  各种对象如Connection、Recordset、Command在命名时必须使用以下对应前缀:
  * Connection对象:conn
  * Recordset对象:rs
  * Command对象:cmd
  * Parameter对象:param
  * Field对象:fld
  * Error对象:err
函数以及子过程命名规范
  * 函数命名必须使用动词+名词对的方式,并且能够体现函数的功能
  * 函数命名的动词前缀必须是同函数功能相关的完整动词
* 函数命名第一个单词的首字母大写,后面每一个单词的首字母大写
* 自己定义的函数或过程前面写好相关信息,如代码的作用描述,代码版权---创建人的信息,传入的每一个参数的要求---是不是必须的、数据类型,在代码中的作用,如果有点复杂的话,写上一句使用该函数的示例,自己使用的函数如下格式:

‘***********************************************************
‘功能:显示标题和链接页面
‘创建人:XXXX
‘创建时间:2002-7-6
‘修改时间:
‘修改原因:
‘修改人:
‘输入参数说明:StrSql:要使用的表,必须
‘Url:链接的文件地址
‘***********************************************************
Function DisplayTitle(StrSql,Url)
     ‘这里放入代码
End Function

常用变量命名规范:
  说明:包含在[>中的部分为可省略部分
  * Connection对象:conn[Name>。Name为所连接数据库的服务器名字
  * Recordset变量命名规范:rs[Name>。Name为自定义的同rs存储内容有关的英文单词组合
  * Command对象:cmd[Name>。Name为自定义的同command目的有关的英文单词组合
  * SQL语句字符串变量:strSql[CommandName>。CommandName为自定义的同Sql语句功能相关的英文单词组合,如:
  strSqlUpdateModify
  strSqlInsertUser
代码书写规范
变量明确声明原则
  * 所有ASP程序文件,必须在代码的第一行包含<%option explicit%>。转为变量明确声明模式
  字符集设定原则
  * 所有将对客户端产生中文输出的ASP程序文件,必须在输出前设定Charset为”GB2312”.如:Response.Charset = “GB2312”
 函数使用原则
  * 尽量使用函数封装代码块  
  * 尽量使用局部变量,慎全局级(Script 级变量).
  * 如有涉及到全局的资源,如Connection,尽量作为函数的参数传入
  * 所有在函数内部创建打开的资源,在退出函数前必须关闭释放。如:Recordset,Command
 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(“”)这样的引用方式
HTML同服务器端脚本混合使用原则
  * 服务器端脚本标记“<%”必须同其上一行紧邻的标记左对齐,且ASP 和 HTML代码分开一行,这样便于看和维护,如:
<table>

<%
 do while not rs.eof
%>

   <tr>
   <td>text</td>
   </tr>

<%
 rs.movenext
 loop
%>

  </table>
  * 服务器端脚本标记“<%”、 “%>”同其后的代码不在同一行书写  
* 服务器端脚本标记”%>”同其最近的”<%”标记对齐
* 服务器端脚本标记“<%”、 “%>”部分与 HTML 代码 凸出显示,便于查看
  * 尽量不使用 Response.Write 输出 HTML 代码

五:关于 CSS
     上面也曾说过,在控制文本显示等一定使用 CSS 控制,不要使用 HTML 标签控制如字体加粗等样式。这样做的好处在于也是为了便于维护。
     在使用 CSS 的时候也尽量不去定义过多的全局级定义,如 body{} 标签,如需要定义一般也只是定义页面的背景颜色、背景图片、字体编码(不是大小)、Margin 属性。
     所有的 CSS 样式就放到一个或几个文件中,不要将样式散落在 HTML 页面中。


为了便于维护和开发,重复使用的代码块要写成函数或过程;多次使用的 HTML 块把它提出来做成一个单独的包含文件(如导航栏和网页底部的版权信息),尽量做到代码和界面的分离。

最后,我希望能在开发过程中将自己认为很精彩、很普遍使用的代码(块)逐步保存起来,形成自己的代码库,这个代码库的每一段代码做好很详细的注释说明。这样在以后的开发过程中会减少不必要的重复劳动。

你可能感兴趣的:(html,session,服务器,command,VBScript,asp)