WEB开发编程规范总体.docx
- 文档编号:3601073
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:11
- 大小:33.77KB
WEB开发编程规范总体.docx
《WEB开发编程规范总体.docx》由会员分享,可在线阅读,更多相关《WEB开发编程规范总体.docx(11页珍藏版)》请在冰豆网上搜索。
WEB开发编程规范总体
WEB开发编程规范
(界面及编程)
WEB开发编程规范1
前言1
术语解释1
范围界定2
相关开发环境(建议环境,不做强制要求)2
开发工具:
2
数据库:
3
WEB服务器(仅做开发测试用):
3
应用服务器:
3
界面开发规范3
基本要求3
其它注意事项6
编程规范7
基本要求7
可读性要求7
正确性与容错性要求8
可重用性要求8
变量命名8
常量命名8
函数命名8
注释8
程序10
WEB开发编程规范
前言
J2EE是一种功能完备、稳定可靠、安全快速的企业级计算平台,它由多种基于JAVA的技术组成:
EnterpriseJavaBeans(EJB),JavaServerPages(JSP),servlets,JavaNamingandDirectoryInterface(JNDI),andtheJDBCdataaccessAPI等。
本规范针对从事资源管理开发中前端WEB站点开发设计人员。
要求使用者对J2EE架构有所了解,具有一定的HTML、CSS基础知识,对交互式网页JSP及javabeans的开发有较深认识。
本规范的目的是为了开发出通用的、易于维护的高效率的J2EE应用。
术语解释
表示层:
即系统与系统使用者通过各终端进行交互时对数据内容的表现层,同时负责输入数据的格式合法性校验。
该层次根据用户的需要完全个性化。
应用表示逻辑层:
根据个体应用系统的约束条件,实现表示层数据的组织和包装;根据应用逻辑对表示层输入的数据进行逻辑合法性检验。
应用逻辑组件层:
实现特定于个体系统的应用逻辑和算法(EJB)。
持久存储层:
可以实现所有实体数据的数据库集中存储。
通过该层对持久存储的CRUD(create,read,update&delete)操作,负责实体对象的创建、状态维护、删除等功能。
范围界定
根据J2EE技术框架的体系结构和WEB应用的特点,我们在项目的开发过程中将项目分成两个层次:
与系统用户交互的网站页面系统(含静态页面结构和动态页面结构),以及实现用户业务逻辑的系统(含支持数据永久存储的数据库系统)。
对于这两个层次,我们根据其特点采用不同的开发过程,而本规范只针对前一部分。
在这一部分的开发中,需要如下开发人员:
●Javabeans(包括无输出用户界面的servlet)开发人员
●JSP开发人员(包括客户端的JavaScript)
●HTML设计人员
●美工
Javabeans开发人员建立表现层的逻辑,而其他人员建立表现的形式。
因为这一层的开发可能会有几个人来承担不同的角色,也可能有些人需要兼顾到所有的方面,所以为了有针对性,下面我们分别就这几种角色在开发中应注意的事项提出要求:
相关开发环境(建议环境,不做强制要求)
开发工具:
Javabeans的编写调试可用任何编辑器或JBuilder等,其它网站界面及管理部分用DreamweaverMX,主要是做为一个大型的应用,网站管理是一个很重要的内容,采用DWMX可以通过内定的工作流程保证我们整个应用中模板、javascripts脚本、css样式表、JSP页面控件及XML、TLD等技术的实现保持一致,并无须设专人维护测试这些必须统一的公共部分。
另一方面的优势是在JSP页面的开发上,不但提供JSP标记库支持,而且提供完全JavaBeans自省功能,即除了在数据绑定面板中显示JavaBeans的getProperty和setProperty方式之外,DreamweaverMX还有一个能显示JavaBean所有方式和属性的服务器行为面板,可充分集成Beans和JSP应用程序,另外DWMX也支持WebService的开发。
(将在近期安排DreamweaverMX针对JSP开发的相关培训)
数据库:
Oracle8i/9i(只安装客户端及相应JDBC驱动class12.zip)
WEB服务器(仅做开发测试用):
Tomcat/Websphere/Resin等,建议用Tomcat4.0(这一层的开发做测试足够了,且占用系统资源少),为了能测试包含访问EJB的代码,需安装j2ee.jar或其它包含有javax.ejb.*的包。
应用服务器:
可不安装,通过远程访问Websphere即可(指编写调用EJB的JAVABEANS部分)。
界面开发规范
基本要求
网站目录命名规则
1.所有目录名称使用小写英文字母的组合,绝对禁止包含汉字、空格和特殊字符及大写字母(WEB-INF目录除外),可以添加数字或下划线的组合,禁止输入全角字符。
2.在网站根目录中开设WEB-INF、images、common、temp、templete五个子目录,根据需要再开设其它子目录(如基础资源、管线资源等),其中WEB-INF目录下设置classes、lib及tlds子目录,classes中放所有javabeans的class文件(凡package的请注意目录层次,在最终测试前将相应的java源文件与class文件放在一起),lib中放所有jar文件,tlds中放标签库文件。
images目录中放网站所有页面都要用到的公共图片,例如公司的标志、banner条、菜单、按钮等等;common子目录中放Css、JavaScript、include等公共文件,templete目录里是dreamweaverMX的公用模板文件。
3.在子目录中根据需要在每一个子目录中开设一个images的子目录用以放置此栏目专有的图片,如果这个栏目的内容特别多,又分出很多下级栏目,可以相应的再开设其他目录。
4.temp目录中的文件往往会比较多,建议以时间为名称开设目录,将客户陆续提供的资料归类整理。
5.在非网站目录里还得有三个目录:
bakup、doc、src,其中bakup进行整个站点已开发内容的备份,doc子目录,放客户提供的各种文字图片等等原始资料,src则放置所有class文件的源代码及页面设计师的PSD、Fla源文件。
禁止将这三项内容放在dreamweaverMX的控制范围内。
6.网站中的路径全部采用相对路径。
即一定要先建立站点然后在站内新建或修改文件,保证所有链接不会出现硬盘盘符的情况。
以上是WEB站点目录结构的大致规划,实际使用时将先在规定的服务器上建好这个站点结构,大家通过DWMX的FTP功能下载并保持本地站点结构与服务器结构一致即可。
文件命名原则
1.每一个目录中应该包含一个缺省的JSP文件,文件名统一用index.jsp。
2.文件名称统一用小写的英文字母、数字和下划线的组合。
3.命名原则的指导思想一是使得你自己和工作组的每一个成员能够方便的理解每一个文件的意义。
CSS层叠样式表文件
(建议直接采用DWMX的CSS面板来定义,比较直观)
样例:
td{font-family:
"宋体";font-size:
12px;color:
#000000;}
p{text-indent:
2em;text-align:
justify}
a:
link{color:
#FFFFFF;text-decoration:
none}
a:
visited{color:
#99FFFF;text-decoration:
none}
a:
active{color:
#FF9900;text-decoration:
underline}
a:
hover{color:
#FF9900;text-decoration:
underline}
1.CSS定义的顺序为:
重定义的最先,伪类其次,自定义最后,以便于他人阅读;对于伪类CSS定义,请严格按照以上顺序格式,即a:
hover放在最后,以便使其不会被其他定义覆盖;
2.为了保证不同浏览器上字号保持一致,字号用点数(pt)和像素(px)来定义,使用pt单位时一般使用中文宋体的9pt和10.5pt,使用px单位时一般使用中文宋体12px和14.8px。
字体需要作为标题显示时,一般选用10.5pt或14.8px的字号比较合适。
所有的字号都应该用样式表来实现,禁止在页面中出现 >标记。 3.排版中我们经常会遇到需要进行首行缩进的处理,不要使用 或者全角空格来达到效果,规范的做法是在样式表中定义p{text-indent: 2em;}然后给每一段加上 标记。 脚本编写 1.尽量直接采用DWMX提供的JavaScript函数库,因为它提供了尖端的客户机方交互性,而不必学习冗长的教科书,这样也可以保证我们页面中JavaScript写法的一致性。 所有javascrips的客户端脚本必须放在JSP页面的标签之前,便于使用模板进行站点统一管理时不致影响到脚本。 2.网页中客户端代码只允许使用JAVASCRIPS脚本、禁止用VBSCRIPTS。 网站管理 1.进入实际开发阶段将设置一测试用主服务器,上开设虚拟WWW目录。 2.主服务器包含站点完整结构,大家通过FTP功能及时上传最新的文件,保持共享最新的文件。 3.实现服务器程序的互斥性修改 要求实现某一程序在同一时间只能一个开发人员修改。 其具体实现方式是: 需要修改程序的开发人员从源文件存放处提出(Chink-out)一个程序,这时其他开发人员就不可以再Chink-out同一个程序了,只有当第一个开发人员修改测试完成后,将更新版本的代码做放入(Chink-in)操作,其他开发人员才能Chink-out同一个程序。 JSP页面制作及编程技术要求 界面风格需要一致: 在程序设计中需要注重模块化,而界面设计中对象化同样非常重要。 将界面元素对象化,比如底部版权信息、导航条等,图片尽可能复用,比如站点标志、搜索按钮等等;下面提几点细节要求: 1.网页适用的屏幕大小: 制作网页时,显示器的分辨率设置可以为800*600或1024×768(或通过设置表格百分比方式尽量做成自适应的)。 2.主要页面要写
3.的alt属性,使不能看图的用户也可以读懂页面。
4.不使用过长的滚屏,采用分页。
5.在主页中尽量少使用滚动条,网页中尽量少出现横向滚动条。
6.网页版权信息清晰明了。
主页版权信息推荐使用下列格式:
BestviewedwithIE4.0,Resolution:
800×600.
Copyright©2002××××××,Allrightreserved.
7.如有特殊情况,必须在readme.txt文件中说明。
8.在查询显示结果过多时,除必须分页显示外,将上一页、下一页的翻页按钮同时放在列表的上面及最底下,并且设置直接跳转到某页的按钮。
其它注意事项
控件的命名:
用小写前缀表示类别:
frm表单
cmd按钮
txt文本输入框
lab标签
img图象
pic
lst列表框
……
注释
用<%--注释--%>
表格应用(仅针对JSP页面开发人员输出动态表格时)
表格不使用表格边框形式,即不得设置bordercolordark和bordercolorlight属性,也不准设置表格边框颜色,而是使用由页面设计师提供的CSS中设置的TD.content属性,此种方式可兼容IE5和NC6;并且只有这种方式,当浏览时有些单元格中无内容时仍可正常显示边框线;代码范例如下:
界面友好
系统提供灵活的输入方式以方便用户输入。
容错能力强
系统充分考虑到用户在操作时可能的错误,并提供相应的纠正措施。
例如一份表单正常提交以后,假如用户利用历史记录后退,回到提交前的状态,这时候修改了提交内容,又再一次提交,那么结果是什么呢?
编程规范
基本要求
程序结构清析,简单易懂。
打算干什么,要简单,直接了当,代码精简,避免垃圾程序。
尽量使用标准库函数和公共函数。
可读性要求
保持注释与代码完全一致。
每个源程序文件,都有文件头说明。
每个函数,都有函数头说明。
主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。
常量定义有相应说明。
处理过程的每个阶段都有相关注释说明。
在典型算法前都有注释。
利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位。
注释可以与语句在同一行,也可以在上行。
空行和空白字符也是一种特殊注释。
一目了然的语句不加注释。
注释的作用范围可以为:
定义、引用、条件分支以及一段代码。
正确性与容错性要求
程序首先是正确,其次是优美
无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。
改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。
所有变量在调用前必须被初始化。
对所有的用户输入,必须进行合法性检查(尽量采用客户端验证方式)。
不要比较浮点数的相等,如:
10.0*0.1==1.0,不可靠。
单元测试也是编程的一部份,提交联调测试的程序必须通过单元测试。
可重用性要求
重复使用的完成相对独立功能的算法或代码应抽象为公共控件或类。
公共控件或类应考虑OO思想,减少外界联系,考虑独立性或封装性。
公共控件或类应建立使用模板。
变量命名
命名必须具有一定的实际意义,形式为xAbcFgh,x由变量类型确定,Abc、Fgh表示连续意义字符串,如果连续意义字符串仅两个,可都大写。
常量命名
常量定义必须具有一定的实际意义;
常量定义必须全部以大写字母来撰写,中间可根据意义的连续性用下划线连接,每一条定义的右侧必须有一简单的注释,说明其作用;
函数命名
函数原型说明包括引用外来函数及内部函数,外部引用必须在右侧注明函数来源:
javabean的名称或include的文件名,如是内部函数,只要注释其定义文件名;
第一个字母必须使用大写字母,要求用大小写字母组合规范函数命名,必要时可用下划线间隔
注释
原则上注释要求使用中文;
文件开始注释内容包括:
公司名称、版权、作者名称、时间、模块用途、背景介绍等,复杂的算法需要加上流程说明;
函数注释包括:
输入、输出、函数描述、流程处理、全局变量、调用样例等,复杂的函数
需要加上变量用途说明;
程序中注释包括:
修改时间和作者、方便理解的注释等;
引用一:
文件开头的注释模板
/******************************************************************
**文件名:
**Copyright(c)2001.7-2001.9*********
**创建人:
**日期:
**修改人:
**日期:
**描述:
**
**版本:
**--------------------------------------------------------------------------
******************************************************************/
引用二:
函数开头的注释模板
/*****************************************************************
**函数名:
**输入:
a,b,c
**a---
**b---
**c---
**输出:
x---
**x为1,表示...
**x为0,表示...
**功能描述:
**全局变量:
**调用模块:
**作者:
**日期:
**修改:
**日期:
**版本
****************************************************************/
引用三:
程序中的注释模板
/*----------------------------------------------------------*/
/*注释内容*/
/*----------------------------------------------------------*/
程序
程序编码力求简洁,结构清晰,避免太多的分支结构及太过于技巧性的程序,尽量不采用递归模式。
编写程序时,亦必须想好测试的方法。
如在javabean中包括方法时,在源程序中一般也应包括类似的代码(当然自行测试无误后必须用/**/封闭):
/*publicstaticvoidmain(Stringargv[])
{
MusicCollectionm1=newMusicCollection();
System.out.println(m1.getAlbumsSize());
System.exit(0);
}*/
注释一定要与程序一致。
版本封存以后的修改一定要将老语句用/**/封闭,不能自行删除或修改,并要在文件及函数的修改记录中加以记录。
程序中每个block的开头”{"及"}”必须对齐,嵌套的block每进一套,缩进一个tab,TAB为4个空格,block类型包括if、for、while、do等关键字引出的。
对于比较大的函数,每个block和特殊的函数调用,都必须注明其功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WEB 开发 编程 规范 总体