LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

参考的ASP开发规范

admin
2010年7月3日 14:42 本文热度 6155

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主机上的惨状]


为了规范程序代码编写,提高代码可读性,降低后期维护成本,提高办公效率,建议以后编写的程序按以下几条规范进行:


一、 统一vbscript和asp程序编写规范


(一)变量命名规则:


由于在asp和vbscript中因为不需要声明变量,同时不能声明变量的类型,但为了提高代码的可读性,养成好的开发习惯,对于本系统开发的变量命名统一规则如下:


1. 使用dim、public、private声明变量;


例如:dim istudentnum


2. 变量类型的体现:


a、整型变量:以小写字母i开头,后面跟变量标示符,英文单词的第一个字母大写。


例如:下面声明一个存储数据库记录多少的变量


dim iresordsetnumber


b、单精度实体变量:以小写字母f开头,后面跟变量标示符,英文单词的第一个字母大写。


c、双精度实体变量:以小写字母d开头,后面跟变量标示符,英文单词的第一个字母要大写。


d、 字符型变量:以小写字母s开头;


e、 布尔型变量:以小写字母b开头;


f、数组变量:数组类型+“_”+“array”+“_”+“变量标示符”


例如:定义一个存储学生成绩的数组(存储单精度实体类型变量)


dim f_array_studentmark


3. 变量标示符要符合标示符标准,同时容易理解,尽量使用英文单词来代替,尽量避免使用缩写或简写。


例如:存储校友通讯录的字符串变量定义为:


dim sschoolfellowaddresslist;


虽然这样定义在输入的时候比较麻烦,但是,它大大提高了程序的可读性,见其变量命名就知其意。在做变量查找的时候也比较方便。速度和性能总是不能两全,为了方便后者我们也就只有牺牲速度。


4.在变量定义后面加变量功能定义的注释。


(二)常量命名规则:


类型体现和上面一样,不一样的地方是,所有后面的标示符全部大写,例如:


定义一个存储语言种类的的字符型常量:


const slanguage_type=”chinese”


(三)功能函数、过程命名规则:


1. 使用function声明函数,用sub声明过程;


2. 函数名或过程名的第一个字母大写,且后面的每个单词第一个字母大写。


例如:


function checkvalidityofinput(sstuentmark)


‘此处写代码


…………


end function


3. 函数名或过程名要容易读,简单明了。


4. 在函数前面加注释,说明函数功能、参数说明、创建日期、修改日期、修改原因、创建人、修改人等相关信息。


(四)代码缩进标准:


为了提高代码的美观型和易读性,在此提出代码编写的版面格式:区间与区间之间以一个为间距。


例如:


‘***********************************************************


‘功能:检测输入字符串中的单引号,如果有则把原来的一个单引号变成两


‘ 个单引号,两个变成四个,依次类推,从而避免sql语句执行错误。


‘创建人:xxxx


‘修改时间:


‘修改原因:


‘修改人:


‘输入参数说明:sinputstring:需要进行单引号检测的字符串


‘***********************************************************


function checkvalidityofinput(sinputstring)


dim icirculationcontrol ‘控制循环


dim sapartstring ‘分离字符检测


dim ilenofinput ‘输入字符长度


ilen= len(trim(sinputstring))


for icirculationcontrol = 1 to ilen


if mid(sinputstring, icirculationcontrol, 1) <>"'" then


sapartstring = sapartstring & _


mid(trim(sinputstring), icirculationcontrol , 1)


else


sapartstring = sapartstring & "''"


end if


next


checkvalidityofinput = sapartstring


end function


二、 统一javascript程序编写规范


javascript的命名规则和上面大部分相同,唯一不同的地方是:变量使用var来声明,在声明结束后以分号(;)结束。


函数的代码要求层次清楚,该写在下一行的地方尽量往下一行写,不要在一行中完成所有代码,这样看起来不容易,检查错误也特别费时。


在写函数的时候记着加注释内容,以便以后维护时快速了解程序功能。


下面是一个javascript程序:


三、 系统性能提高,代码规范


1.在asp页面内,凡是使用creageobject()创建的对象(com、recordset等),对于这些变量,应当在该页结束进行对象释放:即


set 对象变量名=nothing


2.数据库打开以后在不用的时候(通常是本页最后面),需要对连接进行关闭;


3.对于sql语句,存储过程,尽量避免使用*来取所有字段,为了代码的易读性,sql关键字要求全部大写,字段部分小写。


例如:


select name,age,birthday,telephone,address from schoolfellow.address where name=’xxxx’ order by birthday desc


4.在asp页中所有属性值尽量使用双引号括起来,特别是有属性value的值,不要因为省时间而把双引号去掉(有的地方虽然可以去掉,程序不会出现错误,但,在有的地方去掉双引号会引来更多的麻烦。)


例如:


”>


在这个例子中,如果把value属性值的单引号去掉,如果数据库中出来的值有空格,空格后面还有值,结果,显示的内容只有空格前面的内容,而后面的内容就会丢失。这只是其中一种情况,其他还有很多未知情况发生。


5. 配对标签问题:对于象之类的标签,要注意检查配对的位值,有没有结束标志。


6. 对于需要输入字符串,且需要使用sql语句的地方,需要进行单引号处理,调用/include/checkq.asp中的两个方法(一个是客户端处理,一个是服务器端处理,根据需要进行调用,安全性要求高的地方多数情况下采用服务器端处理。)之一。


7. 为了提高安全性,能使用asp编写的代码,尽量采用asp编写,在服务器端运行,不让用户看到代码。


8. 对于安全性要求特别高的地方,建议采用三层结构:使用vb或delphi编写商业逻辑层代码(com),尽量把数据库的连接部分封装到组件中,提高安全性能,通过组件和数据库交流。


9. 对于网站的安全性,应该采用好的断口扫描软件,查看网站已经打开的断口,把不安全的断口给关闭。


四、 养成写开发文档的习惯


对于每一个页面设计(前接页,后接页),包括功能说明,页面设计,页面名称,存放位置等,应当有相应的文档记载。对于发生改动的地方,需要保留原来的部分(注释或备份),并说明备份文件存放的地方,改动时间,修改人。


对于程序部分,应该有相应的设计流程,改动的时候,也需要设计改动流程图,以便以后进行对比,和查找问题所在位置,以及问题的严重性分析。


该文章在 2010/7/3 14:42:26 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved