程序书写规范_第1页
程序书写规范_第2页
程序书写规范_第3页
程序书写规范_第4页
程序书写规范_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序书写程序书写格调培养良好程序格调良好程序书写格调将有利于提升软件质量和效率。程序书写格调在以下方面表现:常量、变量使用;注释使用;变量、属性及方法命名;语句书写与使用地点。以下提议将有利于培养良好程序书写格调:多阅读他人程序,包含阅读厂商提供源程序,学习优点;从程序错误中吸收教训,不再犯一样错误;程序书写过程中,紧记关于要求,不怕麻烦。程序书写规范以下给出程序书写关于规范:程序必须使用逐层缩进格式;程序中必须有注释(关于注释使用规范在随即章节中单独说明);提议分行书写复杂表示式和复杂语句;方法中程序段不宜过长;除在极为特殊情况下,禁止使用系统或其它软件开发包提供未公开函数调用。注释注释使用遵照以下规范:要求使用注释在程序开头说明本程序实现功效,提议用注释标明程序作者和时间,以及需要说明其它事项;较多常量定义和属性定义处,要求用注释说明变量和属性情况;假如对他人程序进行修改,必须在主要修改处用注释说明所作修改,并标明修改者;要求用注释说明方法功效、参数、异常以及返回值,有多个返回值时应说明不一样返回值值、及返回值意义;同一程序段中进行不一样操作时,要求用注释说明一组程序功效;大段改动程序时,提议用注释屏蔽旧程序段,以防止修改时增加新错误,防止可能程序恢复。Java命名规则命名综述命名包含对程序汉字件、变量、属性、方法等程序对象命名。好命名格调将有利于提升程序可读性,并易于修改和维护,从而降低错误,提升编程效率。除简单使用变量(如用于循环计数变量)外,变量名称必须有意义,方便于识别该对象;但不宜过长,以防止使用中键入时犯错。软件最终公布性文件,包含最终可执行程序、动态链接库、帮助文件等文件命名,由项目责任人统一确定。软件最终使用性名称,包含整个软件名称及单个模块名称,包含安装后菜单项及快捷方式名称,由项目责任人统一确定。整个软件大名称由企业经理确认。Java命名规范Java程序命名规则●Java包命名包名全部单词均为小写。

如:business、housemanager。Ex:正确:packagecom.capinfo.util;错误:packagecom.CAPINFO.util●Java类命名类名+所属类型,类名要表现出该界面类主要功效,类名中全部单词打头字母为大写,如:HouseControl、DBControl、ComputeFrame。Ex:正确:SomethingHandler.java;SomethingProxy.java,SomethingDAO.java错误:somethinghandler.java;somethingProxy.java,Somethingdao.java●Java方法命名方法命名要表现出此方法作用。方法名第一个单词打头字母要小写,其后单词打头字母为大写。如:drawPicture()、getHouse()。Ex:正确: publicvoidchangePassword()错误: publicvoidchangepassword()●Java变量命名变量名第一个单词打头字母要小写,其后单词打头字母为大写。变量命名应该表现该变量代表含义。该规则既适适用于类属性,也适适用于方法中变量和方法使用参数。Ex:正确: StringapplicationName;publicvoidvalidateUser(intuserId,Stringpassword)错误: Stringapplicationname;publicvoidvalidateUser(intUserId,Strings)●Java常量命名这里常量指是类型为staticfinal变量。常量全部以大写字母书写,如超出一个单词,则应采取“_”链接,单词可使用缩写。如:PI、HOUSE_TYPEEx:正确: staticfinalStringSYSTEM_ADMIN_USER=“admin”;错误: staticfinalStringSYSTEMADMINUSER=“admin”;●Java文件名命名文件名必须与类名相同,恪守和类名相同规则。●Java数组命名数组方括号应该在变量前面,而不是后面。Ex:正确:byte[]buffer;错误: bytebuffer[];Java注释规则注释规则综述Java程序有两类注释:实现注释(implementationcomments)和文档注释(documentcomments)。实现注释是那些使用/*...*/和//界定注释。文档注释(被称为"doccomments")是Java独有,并由/**...*/界定。文档注释能够经过javadoc工具转换成HTML文件。注释应被用来给出代码概括,并提供代码本身没有提供附加信息。注释应该仅包含与阅读和了解程序关于信息。在注释里,对设计决议中主要或者不是显而易见地方进行说明是能够,但应防止提供代码中己清楚表示出来重复信息。多出注释很轻易过时。通常应防止那些代码更新就可能过时注释。注释规则描述类注释应该在java文件开头,应恪守这么规范。/***<p>Title:类名</p>*<p>Description:类功效描述</p>*<p>Copyright:版权</p>*<p>Company:企业</p>*@author作者*@version版本*/方法注释应该位于方法上面,对方法进行描述。/***方法内容**@param 参数名参数说明*@return 返回值说明*@exception 例外*/Ex:/***依照userId判断用户是否存在**@paramuserId登录用户id*@returntrue用户存在、false用户不存在*@exceptionLoginException登录错误*@exceptionSQLExceptionSQL语句错误*/publicbooleanisUserExist(intuserId)throwsLogicException,SQLException{...}属性注释属性注释分为2种:●需要生成javadoc变量注释(即文档注释)假如注释在一行内,采取这么注释/**变量说明*/假如注释在多行内,采取这么注释/***变量说明*…*/●不需要生成javadoc变量注释(即实现注释)假如注释在一行内,采取这么注释/*变量说明*/或者//变量说明假如注释在多行内,采取这么注释/**变量说明*…*/通常内容注释假如注释在一行内,采取这么注释/*变量说明*/或者//变量说明假如注释在多行内,采取这么注释/**变量说明*…*/关于修改注释这里指修改主要对应于这么情况:●自己在修改他人代码时,需要注释●即使是自己代码,但出现了大业务改动,需要注释修改方法:●在类注释author一栏中加入修改人、修改时间和修改原因。●在代码中将自己修改部分用注释区分出来,注释中需要有修改人,修改时间,修改开始和解释描述。●修改内容中随时写注释。Ex:注意用红字标识出部分。/***<p>Title:TestDoc</p>*<p>Description:thisisatestforjavadoc</p>*<p>Copyright:Copyright(c)</p>*<p>Company:首都信息发展股份有限企业</p>**@authorxiaoqiao-03-05create<br/>*liqiang-05-05modifyfortest<br/>*@version1.0*/publicclassTestDoc{publicStringtestDoc(Strings1,inti2)throwsException{StringreturnValue=getReturnString();returnreturnValue;}publicStringgetReturnString(){StringreturnValue="thisisthefirststring";//addbyxiaoqiaoat-03-06forteststart//重新获取返回值returnValue="thisisthesecondString";//addbyxiaoqiaoat-03-06end /*#############byxiaoqiaoat-4-4start 对于原作者内容依照新修改需要所注释掉部分 */returnreturnValue;}}Java逻辑结构规则if语句规范●if语句不允许使用省略方式,即必须带有{}。哪怕if块中只有一句代码。Ex正确: if(cnt==1){ fileName="file1.txt"; }else{ fileName="file2.txt"; }错误: if(cnt==1) fileName="file1.txt"; else fileName="file2.txt";●“if”、“else”、“(”、“)”和“{”之间应有一个英文空格。Ex正确:(空格处已用红色标出) if(cnt==1){ fileName="file1.txt"; }else{ fileName="file2.txt"; }错误: if(cnt==1){ fileName="file1.txt"; }else{ fileName="file2.txt"; }循环语句规范for循环、while循环、dowhile循环,和if语句一样,“for”“while”和“(”以及“)”和“{”之间要有一个半角空格。另外在for语句条件括号中,“;”、“=”还有逻辑运算符(如“>”、“<”)两侧必须要有空格。While语句括号中也是同理。Ex正确:请注意空格位置 for(inti=0;i<10;iCounter++){ System.out.println("Looping"); }while(count>0){…}do{…}while()错误:缺乏空格。 for(inti=0;i<10;iCounter++){ System.out.println("Looping"); }while(count>0){…}do{…}while()switch语句和break语句规范●通常,switch语句中各个case之后,都会有break结束。假如下一个case还要接着执行,通常在break位置添加一个注释行“//notbreak;”。●switch和case语句均需要缩进。Ex正确:请注意空格与缩进 switch(funcNo){ case4: func4(); break; case3: func3(); //notbreak; case2: func2(); break; case1: func1(); break; }错误:缺乏缩进以及“notbreak” switch(funcNo){ case4: func4(); break; case3: func3(); case2: func2(); break; case1: func1(); break; }Java通用编码规则import包名次序在程序中假如import了多个包话,请遵照这么import次序。而且,对于同一级包,应该按照字母次序进行排序。NoPackage1JavaPackage2JavaxPackage3SystemFrameWorkPackage4SystemPackageEx正确:importjava.io.*;importjava.rmi.*;importjava.util.*;//上面是java标准包importjavax.ejb.*;importjavax.naming.*;importjavax.rmi.*;//这部分是java扩展包importorg.apache.struts.*;importorg.apache.struts.action.*;//这部分是strutsframework包importcom.capinfo.util.*;//这部分是系统需要包错误:import次序不对,而且同一级import字母次序也不对。importjava.util.*;importjavax.ejb.*;importjavax.naming.*;importjavax.rmi.*;importorg.apache.struts.*;importcom.capinfo.util.*;importorg.apache.struts.action.*;importjava.io.*;importjava.rmi.*;注意:假如只应用到了某个包中一个类,则需要写出该类详细路径。如:importjava.util.Vector;“{}”使用规范大括号不要用在一行里,起始大括号“{”要在行尾,而且和前面代码要有一个空格。结束大括号要在另一行里。Ex正确:注意大括号换行和空格try{…}catch(CertificateExceptionex){…}catch(IOExceptionex){…}错误:换行不对,而且缺乏空格。try{…}catch(CertificateExceptionex){…}catch(IOExceptionex){…}小括号使用规范●在进行方法调用时,左括号和后一个字符之间不应该出现空格,一样,右括号和前一个字符之间也不应该出现空格。Ex正确:CallProc(AParameter);错误:多空格CallProc(Aparameter);●在混合运算中用括号以防止出现运算符优先级问题,即使你自己非常清楚运算符优先级,他人也不一定清楚——不能假定其它程序员都像你一样清楚运算符优先次序。Ex正确:if((a==b)&&(c==d)){…}错误:缺乏括号if(a==b&&c==d){…}空格使用规范关于空格,上面已经列举很多个情况,下面简单总结并做些补充●在逻辑条件、循环条件判断处“()”前后,需要有空格。●在表示模块起始大括号“{”前,需要有空格。●在表示方法调用括号内部紧挨着括号参数与括号之间,不能有空格。●在方法调用需要多个参数时,在紧跟着参数逗号后面,需要有空格。(逗号前不能有空格)Ex:正确:method1(p1,p2,p3);错误:method1(p1,p2,p3);//缺乏空格method1(p1,p2,p3);//空格位置不对●在for循环循环条件括号内部分号后,需要有空格。Ex正确: for(inti=0;i<10;iCounter++){ System.out.println("Looping"); }错误:多处缺乏空格 for(inti=0;i<10;iCounter++){ System.out.println("Looping"); }●在操作符两侧应该各有一个空格。如“=”、“==”、“>”、“<”、“+”、“*”等等。Ex正确: for(inti=0;i<10;iCounter++){ j=I+5; }错误:运算符前后缺乏空格。 for(inti=0;i<10;iCounter++){ j=I+5; }缩进规范●这里所说空格是指英文状态下一个空格。●不论是java代码,还是jsp代码,缩进采取4个空格。●缩进必须是4个空格,而不能用tab字符代替。因为在不一样文件编辑器中,对tab字符设定有可能是不一样。JavaBean存取方法规范●假如是boolean类型属性(property),采取isXXX/setXXX方式来写该属性存取方法Ex正确:privatebooleanchanged=false;publicbooleanisChanged(){returnthis.changed;}publicvoidsetChanged(booleanchanged){this.changed=changed;}错误:存取方法命名不对privatebooleanchanged=false;publicbooleanalreadyChanged(){returnthis.changed;}publicvoidmodifyChanged(booleanchanged){this.changed=changed;}●对于其余类型属性,均采取getXXX/setXXX方式来写该属性存取方法。Ex正确:privateStringuserName="";publicStringgetUserName(){returnthis.userName;}publicvoidsetUserName(StringuserName){this.userName=userName;}错误:方法命名不对privateStringuserName="";publicStringretrieveUserName(){returnthis.userName;}publicvoidmodifyUserName(StringuserName){this.userName=userName;}toString方法规范全部数据类(data类,或者model类),必须要写toString方法,方便在使用调试时候能够把它所具备数据打印出来。ExpublicclassUserimplementsSerializable{privateintuserId=-1;publicintgetUserId(){returnthis.userId;}publicvoidsetUserId(intuserId){this.userId=userId;}privateStringuserName="";publicStringgetUserName(){returnthis.userName;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论