您的位置:首页 > 运维架构 > 网站架构

动态网站开发规范

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

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

一:关于网站的开发及目录组织结构

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 块把它提出来做成一个单独的包含文件(如导航栏和网页底部的版权信息),尽量做到代码和界面的分离。

最后,我希望能在开发过程中将自己认为很精彩、很普遍使用的代码(块)逐步保存起来,形成自己的代码库,这个代码库的每一段代码做好很详细的注释说明。这样在以后的开发过程中会减少不必要的重复劳动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: