资源描述
,单击此处编辑母版标题样式,#,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,软件项目开发规范,培训目的,开发规范培,训,训的目的是,为,为了保证在,系,系统设计、,编,编码、测试,、,、维护的过,程,程中项目组,人,人员遵循一,套,套统一系统,设,设计标准、,应,应用程序编,写,写标准、页,面,面风格标准,,,,借以提高,软,软件开发团,队,队的效率、,增,增加代码的,统,统一性、可,读,读性,可维,护,护性,保障,项,项目开发稳,定,定。,本次培训提,供,供了项目开,发,发的各项规,范,范以及指导,原,原则。开发,人,人员在开发,过,过程中必须,严,严格遵守此,开,开发规范。,开发规范参,考,考资料,开发人员角,色,色,开发组长:,控,控制团队开,发,发,只有在,开,开发组长的,授,授权下,才,可,可进行基础,开,开发包的变,动,动。,设计人员:,负,负责详细设,计,计。可控制,的,的文档:各,种,种形式的设,计,计文件,包括用例图,,,,流程图等,。,。,编程人员:,负,负责程序开,发,发。可控制,的,的文档:程,序,序源代码。,整合人员:,负,负责应用程,序,序内部模块,与,与模块之间,的,的整合,以,及,及应用程序,与,与应用平台,之,之间的整合,。,。可控制的,文,文档:程序,开,开发包,系,统,统配置文件,。,。,部署人员:,负,负责应用程,序,序的部署,,同,同时负责应,用,用服务器的,维,维护。可控,制,制的文档:,部,部署描述文,件,件。,数据库管理,员,员:负责数,据,据库的维护,,,,调优。可,控,控制的文档,:,:数据库脚,本,本。,测试人员:,负,负责程序的,测,测试工作,,可,可控制的文,档,档:测试报,告,告。,在开发过程,中,中,每个人,可,可同时兼任,数,数个角色,,并,并进行角色,转,转换。,开发环境,应用程序服务器:,IBM WebSphere Application Server 6.1,数据库:,DB2 9.0,开发工具:,JAVA IDE,Eclipse,页面开发,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.java,Java,程序 命名规范,类名:,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,文件的开头,比,如,如:,/*,*,类名,*,*日期,*修改记录,*,Copyright ICSS2003,*All right reserved.,*/,其他不需要出现,在,在,javadoc,的信息也可以包,含,含在这里。,Package/Imports,package,行要在,import,行之前,,import,中标准的包名要,在,在本地的包名之,前,前,而且按照字,母,母顺序排列。如,果,果,import,行中包含了同一,个,个包中的不同子,目,目录,则应该用*来处理。,对,对于,import,语句,如果某一,个,个包中引用的类,不,不超过三个(包,括,括三个),不允,许,许用,importxxx.*;,格式。,将,import,的,classes,归类,按顺序罗,列,列:,a.Java,标准类,(java.*),b.Java,扩充类,(javax.*),c.,第三方类,d.,你的应用程序的,类,类,Java,程序 代码格式,缩进,缩进应该是每行,4,个空格,不要在,源,源文件中保存,Tab,字符。在使用,不,不同的源代码管,理,理工具时,Tab,字符将因为用户,设,设置的不同而扩,展,展为不同的宽度,。,。,注释,为保证开发后,JAVA DOC,的顺利生成,开,发,发人员必须在所,有,有方法,全局变,量,量前加入加上标,准,准,JAVA,注释。,类注释需要包含,以,以下要素:,方法描述,参数:,param,参数名 说明,返回值:,return,说明,例外情况:,exception,完整类名 说明,/*this is adoc sample,*param argsarray of string arguments,*returnNo return value,*exception exception No exceptions thrown,*/,页宽,页宽应该设置为,80,字符,源代码,一,一般不会超过这,个,个宽度,并导,致,致无法完整显示,,,,但这一设置,也,也可以灵活调整,。,。在任何情况,下,下,超长的语,句,句应该在一个逗,号,号或者一个操作,符,符后折行,一,条,条语句折行后,,应,应该比原来的,语,语句再缩进,2,个字符。,HTML/JSP,代码规范,文件头,文件头要写明该,文,文件的用途,及,修,修改记录。如:,!,文件名:,OrderList.jsp,说明:订单列表,修改记录:,2003-08-24,,张三,增加一,个,个按钮,缩进,HTML,标记层次之间的,缩,缩进为,2,个字符,,Java,代码的缩进为,4,个字符,文件中,不,不要有,Tab,符号,都要替换,为,为空格。,Java,编程技巧,exit(),exit,除了在,main,中可以被调用外,,,,其他的地方不,应,应该调用。因为,这,这样做不给任何,代,代码代码机会来,截,截获退出。一个,类,类似后台服务地,程,程序不应该因为,某,某一个库模块决,定,定了要退出就退,出,出。,异常,申明的错误应该,抛,抛出一个,RuntimeException,或者派生的异常,。,。顶层的,main(),函数应该截获所,有,有的异常,并且,打,打印(或者记录,在,在日志中)在屏,幕,幕上。,Java,编程技巧,垃圾收集,JAVA,使用成熟的后台,垃,垃圾收集技术来,代,代替引用计数。,但,但是这样会导致,一,一个问题:你必,须,须在使用完对象,的,的实例以后进行,清,清场工作。比如,一,一个,prel,的程序员可能这,么,么写:,.,FileOutputStream fos=new FileOutputStream(projectFile);,project.save(fos,IDE Project File);,.,除非输出流一出,作,作用域就关闭,,非,非引用计数的程,序,序语言,比如,JAVA,,是不能自动完,成,成变量的清场工,作,作的。必须象下,面,面一样写:,FileOutputStream fos=newFileOutputStream(projectFile);,project.save(fos,IDE ProjectFile);,fos.close();,Java,编程技,巧,巧,Clone,下面是,一,一种有,用,用的方,法,法:,implements Cloneable,public,Objectclone(),try,ThisClassobj=(ThisClass)super.clone();,obj.field1=(int)field1.clone();,obj.field2=field2;,returnobj;,catch(CloneNotSupportedException e),thrownewInternalError(UnexpectedCloneNotSUpportedException:+e.getMessage();,Java,编程技,巧,巧,使用,StringBuffer,对象,在处理,String,的时候,要,要尽量,使,使用,StringBuffer,类,,StringBuffer,类是构,成,成,String,类的基,础,础。,String,类将,StringBuffer,类封装,了,了起来,,,,(以,花,花费更,多,多时间,为,为代价,),)为开,发,发人员,提,提供了,一,一个安,全,全的接,口,口。当,我,我们在,构,构造字,符,符串的,时,时候,,我,我们应,该,该用,StringBuffer,来实现,大,大部分,的,的工作,,,,当工,作,作完成,后,后将,StringBuffer,对象再,转,转换为,需,需要的,String,对象。,比,比如:,如,如果有,一,一个字,符,符串必,须,须不断,地,地在其,后,后添加,许,许多字,符,符来完,成,成构造,,,,那么,我,我们应,该,该使用,StringBuffer,对象和,她,她的,append(),方法。,如,如果我,们,们用,String,对象代,替,替,StringBuffer,对象的,话,话,会,花,花费许,多,多不必,要,要的创,建,建和释,放,放对象,的,的,CPU,时间。,避免太,多,多的使,用,用,synchronized,关键字,避免不,必,必要的,使,使用关,键,键字,synchronized,,应该,在,在必要,的,的时候,再,再使用,她,她,这,是,
展开阅读全文