软件团队的开发与合作规范

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件项目开发规范培训目的开发规范培训的目的是为了保证在系统设计、编码、测试、维护的过程中项目组人员遵循一套统一系统设计标准、应用程序编写标准、页面风格标准,借以提高软件开发团队的效率、增加代码的统一性、可读性,可维护性,保障项目开发稳定。本次培训提供了项目开发的各项规范以及指导原则。开发人员在开发过程中必须严格遵守此开发规范。开发规范参考资料想要更深入了解本次培训涉及到背景知识,可访问以下网站。SUN的官方网站:IBM官方网站:关于代码规范标准可参阅:JavaProgrammingStyleGuideAmbySoftInc.CodingStandardsforJavav17.01dCodeConventionsfortheJavaTMProgrammingLanguage开发人员角色开发组长:控制团队开发,只有在开发组长的授权下,才可进行基础开发包的变动。设计人员:负责详细设计。可控制的文档:各种形式的设计文件,包括用例图,流程图等。编程人员:负责程序开发。可控制的文档:程序源代码。整合人员:负责应用程序内部模块与模块之间的整合,以及应用程序与应用平台之间的整合。可控制的文档:程序开发包,系统配置文件。部署人员:负责应用程序的部署,同时负责应用服务器的维护。可控制的文档:部署描述文件。数据库管理员:负责数据库的维护,调优。可控制的文档:数据库脚本。测试人员:负责程序的测试工作,可控制的文档:测试报告。在开发过程中,每个人可同时兼任数个角色,并进行角色转换。开发环境应用程序服务器:IBMWebSphereApplicationServer6.1数据库:DB29.0开发工具:JAVAIDEEclipse页面开发Editplus*、DreamWeaver*版本控制工具:VSS软件环境搭建过程第1步:安装DB2;第2步:安装WebSphere;第3步:安装ResourceOne;第4步:安装VSS;第5步:从VSS中下载应用程序的开发包,包括目录结构、基类,第三方开发包;第6步:将应用程序开发包部署进WebSphere;Java程序命名规范包名:•Package的名字应该都是由小写单词组成。如test.demo.example。文件名:•文件名由英文单词组成,每个单词的首字母大写,不要超过4个单词,如ShipOrder.java。•Java文件的文件名要与程序中的public类名相同。•Servet文件要以Servlet做为结尾,如AddCompanyServlet.java•访问数据库的Bean要以DBBean为结尾,如AddCompanyDBBean.javaJava程序命名规范类名:•Class的名字必须由大写字母开头而其他字母都小写的单词组成变量名:•Class变量的命名:变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。•StaticFinal变量的命名:StaticFinal变量的名字应该都大写,并且指出完整含义。•用有意义的名字命名变量。首先,用完整的英语单词或约定俗成的简写命名你的变量(不允许用汉语拼音),如:firstName,zipCode•用复数命名collection类变量。ollection包括数组,vector等。命名时使用复数:customers,classmates方法名:•方法的名字必须用一个小写字母开头。后面的单词用大写字母开头。•方法的名字要与该方法的用途相关。Java程序命名规范参数名:•参数的命名:参数的名字必须和变量的命名规范一致。•方法的参数:使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字。Java程序命名规范增删改程序和页面的调用关系和文件名Java程序命名规范增删改程序和页面的调用关系和文件名•AddOrderServer,SaveOrderServer,DeleteOrderServlet不需要页面,其他有JSP页面的Servlet要与JSP文件名相对应。OrderDetailServet对应两个JSP文件,EditOrder用于可编辑状态,ShowOrder用于不可编辑状态。•AddOrderServlet和SaveOrderServlet的返回页面可以是List页面,也可以是Detail页面,如果当前人已完成所有可进行的操作,则回到List页面,如果未完成,则回到Detail页面。Java程序代码格式文件头:版权信息版权信息必须在java文件的开头,比如:/***类名**日期*修改记录*CopyrightICSS2003*Allrightreserved.*/其他不需要出现在javadoc的信息也可以包含在这里。Package/Importspackage行要在import行之前,import中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果import行中包含了同一个包中的不同子目录,则应该用*来处理。对于import语句,如果某一个包中引用的类不超过三个(包括三个),不允许用importxxx.*;格式。将import的classes归类,按顺序罗列:a.Java标准类(java.*)b.Java扩充类(javax.*)c.第三方类d.你的应用程序的类Java程序代码格式缩进缩进应该是每行4个空格,不要在源文件中保存Tab字符。在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度。注释为保证开发后JAVADOC的顺利生成,开发人员必须在所有方法,全局变量前加入加上标准JAVA注释。类注释需要包含以下要素:方法描述参数:@param参数名说明返回值:@return说明例外情况:@exception完整类名说明/**thisisadocsample*@paramargsarrayofstringarguments*@returnNoreturnvalue*@exceptionexceptionNoexceptionsthrown*/页宽页宽应该设置为80字符,源代码一般不会超过这个宽度,并导致无法完整显示,但这一设置也可以灵活调整。在任何情况下,超长的语句应该在一个逗号或者一个操作符后折行,一条语句折行后,应该比原来的语句再缩进2个字符。HTML/JSP代码规范文件头文件头要写明该文件的用途,及修改记录。如:!—文件名:OrderList.jsp说明:订单列表修改记录:2003-08-24,张三,增加一个按钮缩进HTML标记层次之间的缩进为2个字符,Java代码的缩进为4个字符,文件中不要有Tab符号,都要替换为空格。Java编程技巧exit()exit除了在main中可以被调用外,其他的地方不应该调用。因为这样做不给任何代码代码机会来截获退出。一个类似后台服务地程序不应该因为某一个库模块决定了要退出就退出。异常申明的错误应该抛出一个RuntimeException或者派生的异常。顶层的main()函数应该截获所有的异常,并且打印(或者记录在日志中)在屏幕上。Java编程技巧垃圾收集JAVA使用成熟的后台垃圾收集技术来代替引用计数。但是这样会导致一个问题:你必须在使用完对象的实例以后进行清场工作。比如一个prel的程序员可能这么写:...{FileOutputStreamfos=newFileOutputStream(projectFile);project.save(fos,IDEProjectFile);}...除非输出流一出作用域就关闭,非引用计数的程序语言,比如JAVA,是不能自动完成变量的清场工作的。必须象下面一样写:FileOutputStreamfos=newFileOutputStream(projectFile);project.save(fos,IDEProjectFile);fos.close();Java编程技巧Clone下面是一种有用的方法:implementsCloneablepublicObjectclone(){try{ThisClassobj=(ThisClass)super.clone();obj.field1=(int[])field1.clone();obj.field2=field2;returnobj;}catch(CloneNotSupportedExceptione){thrownewInternalError(UnexpectedCloneNotSUpportedException:+e.getMessage());}}Java编程技巧使用StringBuffer对象在处理String的时候要尽量使用StringBuffer类,StringBuffer类是构成String类的基础。String类将StringBuffer类封装了起来,(以花费更多时间为代价)为开发人员提供了一个安全的接口。当我们在构造字符串的时候,我们应该用StringBuffer来实现大部分的工作,当工作完成后将StringBuffer对象再转换为需要的String对象。比如:如果有一个字符串必须不断地在其后添加许多字符来完成构造,那么我们应该使用StringBuffer对象和她的append()方法。如果我们用String对象代替StringBuffer对象的话,会花费许多不必要的创建和释放对象的CPU时间。避免太多的使用synchronized关键字避免不必要的使用关键字synchronized,应该在必要的时候再使用她,这是一个避免死锁的好方法。换行如果需要换行的话,尽量用println来代替在字符串中使用\n。你不要这样:System.out.print(Hello,world!\n);要这样:System.out.println(Hello,world!);或者你构造一个带换行符的字符串,至少要象这样:Stringnewline=System.getProperty(line.separator);System.out.println(Helloworld+newline);数据库规范数据库设计时,应依照关系数据库的建模理念,满足设计范式。在构造物理实体时,应参照DB2性能手册,优化DB2性能。第一种规范形式:表中的每一行和每一列均有一个值,永远不会是一组值。第二种规范形式:不在关键字中的每一列提供取决于整个关键字的事实。第三种规范形式:每个非关键字列提供与其他非关键字列无关并只取决于该关键字的事实。第四种规范形式:没有行包含有关一个实体的两个或更多个独立的多值事实。每种范式均应用于特定条件。LOG记录规范级别(Level):输出日志的重要程度,便于控制日志输出的多少。输出目的地(Appender):日志可以被写入的存储空间,常见的有控制台、文件、数据库、NT日志库、Syslog、远程文件服务器等等。输出格式(Layout):日志输出的内容,如日期格式、是否显示输出级别等。Log的分级DEBUGINFOWARNERRORFATAL*DEBUG代表这些Log是用来输出调试信息,一般是在程序中不是非常重要的地方;INFO代表一些比较重要的信息,比如一些初始化参数信息,程序初始化完毕等;ERROR一般是指由程序本身引起的,可以恢复的错误;FATAL一般指的是程序所依赖的环境出现错误,使得程序不能恢复。其中常用的是DEBUG和ERROR。

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功