asp开发规范
一、单页编写规范:
切记页面要分模块来写:
第一模块:接收参数。[有可能从不同页面提交到同一个页面;也可能出现两个表单项以哪个优先的处理)。
第二模块:定义全局变量。
第三模块:写处理代码(尽量将代码都包含到函数中,详见页面附注一)。——到此asp代码主要部分完成。
第四模块:纯html代码,利用储存在全局变量中的值来生成页面。
第五(注意):要在页面头部写清页面逻辑。(如何接收、处理。)
优点:便于维护。模块独立,便于重复使用到类似页面。
二、全站文件构建规范:
1.工程接手后,先观看静态页,掌握逻辑及浏览顺序。
2.抽取页面中被重复利用到的地方做成嵌入文件。
3.抽取头文件、尾文件,及左侧菜单栏,做成嵌入文件。
4.划分页面结构,做出模板文件。——以后制作中就copy它,然后就可直接制作。
注意:不要急于编写页面,除非你接手的是一项小工程,或者用户需求已经非常清楚确定并且不会再更改,否则,保持页面代码的可读性是非常重要的!(当你面对大返工时,你的心情如何?先对潜在的危险考虑一下吧!)
——因为我们每个人都对自己写的代码非常明白,而都比较难于读懂别人写的代码。并且,由于客户需求的变化,修改甚至推翻原有设计是比较常见的事。所以要注意在编写代码时注意让后来者快速读懂,并便于修改。] [至少要在页面头部加上注释,在代码中间重要的部分,也有必要加一些说明性注释。]
我们所作的一切仅仅是为了:增加可移植可重用性、使逻辑清楚,便于维护、
视τ没枨蟮母谋洌⒕】焱瓿桑跎傥抻霉Α?
――――――――――――――――――――――――――――――――――――――
附注一:第三模块编写说明。《ASP页面编写结构》
1.先写注释
2.写嵌入文件。
3.写大块的ASP代码(从COM中取出的)
——注意:复杂页面,尽量将不同COM的操作封装在独立的函数里;
——函数结尾有一句调用,后面页面中直接读取函数处理完的数据(已被赋给全局变量)
——调用函数前,对页面入口参数进行合法性检验。
附注二:第四模块编写说明。《Html代码部分需要注意的》
1)最好不使页面的asp代码和html代码混杂在一起,——感觉比较混乱。
2)通过获取全局变量的数据得到asp的处理结果。
3)关于客户端javascript:
表单提交前要进行合法性检验。写在对下拉框要有和隐藏按钮同步的,写出单独小函数,放在该按钮的下面。
对大型innerHTML型的客户端交互操作,将代码集中写在相应对应的写客户端脚本时,可多写些函数,使函数间传递的参数简单,功能单一,以便日后有类似页面,可以将其拆下来再使用。
---------------------------------------
对网页制作的要求:
网页人员完成的页面,为保证在使用时不会出现混乱,请他们作以下处理:
1.表格不要嵌套太多;
2.表格宽度要用象素规定宽度;
3.单页中,一个功能模块要做成一个表格,以便编写页面时,将重复部分提取成嵌入文件。
4.其它要注意的:精简代码、注意表格中字符和边框的宽度。
5.文件名请用英文小写加数字(和半角下划线)命名。[想想你的页面搬到unix主机上的惨状]
>>> 5.文件名请用英文小写加数字(和半角下划线)命名。[想想你的页面搬到unix主机上的惨状]
这一点, 以前没有注意过, 我都是这样的命名:
editNews.asp
delNews.asp
看样子要写成
edit_news.asp
del_news.asp 好一点。
----------------------------------------
我也来补充几点代码规范:
1. 很多人都没有注意到的, 也是我特别要建议的: 运算符的两侧, 请多写一个空格。 试比较:
a=(b*c/d+3.243)&"sdfsdfsdflkj"&"asdsd"
和
a = (b * c / d + 3.243) & "sdfsdfsdflkj" & "asdsd"
的可读性区别。 不言自明。
2. 代码请按照逻辑进行正确的缩进!
例子:
if a = 3 then
response.write "test"
else
response.write "sdfsdf"
end if
'' -------------> 注意这里, 两个逻辑上的语句块之间请保留一个空行
do while not rs.eof
response.write "test"
rs.MoveNext
loop
Incorrect example:
if not rs.eof then
response.write "a"
else
response.write "sfldfsd"
end if
if a = 1 then
if b = 2 then
c = "sdfkgkgskldf"
if d = "dfs" then
e = "sdf"
end if
f = "sdlkfsldfk"
end if
for i = 0 to 100
response.write i
next
end if
According to my observation, people with the above coding habits account for at least 80% of ASP programmers, and I am not exaggerating at all.
Take a look and see if you can understand the above code. Anyway, I get a headache when I see this.
As for the amount of indentation, it depends on personal habits. Usually 2 or 4 grids are used more often. Personally, I usually use 2 grids for asp/vb, and 4 grids for js/c style
Comments + indentation + standardized naming
The above three points are really important
—————————————————————————————————————— ------------
Use tabs for all indents. As for the editor with a good number of indent spaces, you can set it
Try not to output html code in response.write
Do not use Option Explicit. I personally feel that this feature is not suitable for web
If you are developing programs, using DreamweaverMX to develop programs should speed up the development efficiency of some programs (such as ASP, PHP, JAVASCRIT, etc.) because of the highlighting and standard prompt functions.
If it is for page design, PHOTOSHOP is a good tool. PHOTOIMPACT is also a good page design tool.