java代码书写规范.docx

上传人:夺命阿水 文档编号:480178 上传时间:2023-07-19 格式:DOCX 页数:14 大小:47.54KB
返回 下载 相关 举报
java代码书写规范.docx_第1页
第1页 / 共14页
java代码书写规范.docx_第2页
第2页 / 共14页
java代码书写规范.docx_第3页
第3页 / 共14页
java代码书写规范.docx_第4页
第4页 / 共14页
java代码书写规范.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《java代码书写规范.docx》由会员分享,可在线阅读,更多相关《java代码书写规范.docx(14页珍藏版)》请在课桌文档上搜索。

1、java代码书写规范符号命名规则符号名包括:模块名,变量名,常量名,方法(函数/子程序)名,数据区名,缓冲区名等。符号命名通常应遵循以下规则:通用规则:1、在全部命名中,都应运用标准的英文单词或缩写。不得运用拼音或拼音缩写,除非该名字描述的是中文特有的内容,如半角、全角,声母、韵母等。2、全部命名都应遵循达意原则,即名称应含义清楚、明确。3、全部命名都不易过长,应限制在规定的最大长度以内。4、全部命名都应尽量运用全称。5、假如命名运用缩写,则必需对其进行注释和说明。具体规范:1、工程名统一制订。2、文件名文件名应与类名相同,这是java的规范3、方法名/函数名方法名第一个单词小写。举荐运用动宾

2、结构。方法名应清楚反映该方法的功能、用途。方法名最长不得超过30个字符。例:getColIection();SetCollection();insertobject();deletebject();3、变量名必需运用有意义的变量名。举荐的类型缩写(type)char:chboolean:bint:ilong:1double:dfloat:f变量名最长不得超过20个字符。4、类名必需以大写字母开头,类名反映具体含义,以清楚表达类的用途和功能为原则当名称由多个单词构成时,每一个单词的第一个字母必需大写代码书写规范书写规范即在编写代码过程中所运用的标准格式,主要包括空格的运用、括号的运用、缩近格式和

3、其他一些内容。源代码书写规范1.在.java.jsp的开头应有一段格式统一的说明,内容包括:a.文件名(Title/FiIeName);b.创建人(Author);c.文件创建时间(Date);d.简短说明文件功能、用途(DeSCriPtion/Function)(样例:/*标题:Schedule,java*描述:用来实现安排项目审批*创建:2023-06-30*作者:赵文正*具体:具体描述安排项目审批的细微环节,如何依据细微环节功能确定方法*/2.除非极其简洁,否则对函数应有注释说明。内容包括:功能、入口/出口参数,必要时还可有备注或补充说明。3 .每行代码的长度举荐为80歹J,最长不得超过

4、120歹I;折行以对齐为准。4 .在类的成员函数内调用其他类的成员函数时,其他类的成员函数可做简短说明。6 .函数入口参数有缺省值时,应注释说明。例:floatgetValue(intID,booleanflag)*parameterdescriptionID:IdentifyNoflag:default=TRUE*/7.elseif必需写在一行。8 .与、有关的各项规定:9 、应独占一行。在该行内可有注释。例:正确:for(i=0;iLine;i+)/System.out.printin(Line=+i+value=+Linesi);不得写做:for(i=0;icb;i+)System,ou

5、t.printin(Line=+i+value=+Linesi);必需另起一行,之后的代码必需缩进一个Tab0与必需在同一列上。例:正确:if(i0)m=1;n;不得写做:if(i0)m=1;n;在循环、分支之后若只有一行代码,虽然可省略、,但不举荐这么做。若省略后可能引起歧义,则必需加上、o例:正确:if(n=-2)n=1;elseif(n!=nTemp)n=2;elsen=3;不得写做:if(n=-2)n=1;elseif(n!=nTemp)n=2;elsen=3;9.与空格有关的各项规定。全部两目、三目运算符的两边都必需有空格。在单目运算符两端不必空格。但在.、等运算符前后,及(取地址)

6、等运算符之后不得有空格。例:正确:intn=O,nTemp;for(inti=nMinLine;i=nMaxLine;i)不得写做:intn=0,nTemp;for(inti=nMinLine;i=nMaxLine;i+)or、while,if等关键词之后应有1个空格,再接(,之后无空格;在结尾的)前不得有空格。例:正确:if(-2=n)不得写做:if(-2=n)或if(-2=n)等等。调用函数时,(、)前后不得有空格。类型强制转换时,()前后不得有空格10与缩进有关的各项规定缩进以Tab为单位。1个Tab为4个空格下列状况,代码缩进一个Tab:函数体相对函数名及、。ifelseforwhil

7、edo等之后的代码。一行之内写不下,折行之后的代码,应在合理的位置进行折行。若有+-*/等运算符,则运算符应在上一行末尾,而不应在下一行的行首。下列状况,不必缩进:switch之后的case、default0在switch-case结构中,case语句距离switch语句的起先应缩进一个TAB,每个case的程序体距离case的起先缩进一个TAB;举例:switch(value)case1:*Bodyforcase1.*/break;case2:*Bodyforcase2.*/break;default:*Bodyfordefault.*/break;全部的函数定义和函数定义的花括号都应位于第

8、一列;全部成对的花括号都应出现在同一列,并与相应的限制语句同列,在对数组、类、和枚举类型的成员初始化时,同样遵循此规则;对于java/jsp程序,剧烈建议运用如下结构:trycatch(Exceptionex)finallytrycatch(Exceptione)其他对困难的条件语句(分支中的语句较多),应在每个结束的花括号后加一条注释说明是哪一个分支的结束,并在分支的起先加注释说明进入分支的条件;困难的循环程序段遵循此规则;每个语句占一行;函数定义时,函数的返值和函数名应在同一行。程序的注释规范在项目开发过程中,对代码的注释非常重要,与代码规范一样供应良好的可读性和易维护性,对程序中的每一个

9、文件、类、函数以及重要的变量,都应用相关的注释说明他们的作者、用途和运用方法,对程序中较困难或重要的部分应说明它们的含义和目的,对后续添加和修改的部分应注明修改者姓名和修改时间。SUN供应了JaVaDOC工具抽取程序中的相关注释:以下都以SUN的标准(即:JAVAAPI规定式样的注释)来说明程序的注释规范,以利于依据程序的注释用JaVadoC生成API格式的java文档。原则:注释是程序调用者和执行者之间唯一的协议程序异样的注释必需显著的标明注释程序的注释应当能供应足够的信息,依据注释,质量保证人员应当能够写出测试用例JaVadoC能够依据以下几类文件中的注释抽取出来生成JAVAAPI格式的注

10、释:Java源程序,包括源程序,接口,结构的注释包的注释文件一般的注释文件其它文件:包括类文件,applet,HTML等文档注释的一般格式文档的注释通常包括两部分。描述部分和0到多个标记。其格式如下例:/*Thisisthedescriptionpartofadoccomment*tagCommentforthetag*/注:行的长度不超过80个字符假如有一段以上的注释,要运用P进行分段。注释的检查工具SUN供应DocCheck工具,用来检查注释风格和标记的错误,并能供应修改建议。描述部分描述部分第一句应当是关于该类,接口,包,成员的概括,JaVadoC工具将会copy这一句作为该部分的概括。

11、例:/*ThisisasimulationofProf.Knuth,sMIXcomputer.*/Javadoc会抽取到Prof为止,作为概述。不过可以通过HTML标记or来连接连个句子。例如/*ThisisasimulationofProf,nbsp;Knuth,sMIXcomputer.*/或者*ThisisasimulationofProf.!Knuth,sMIXcomputer.*/以下状况可以不用写注释,JaVadOC会自动生成相应的注释当一个类的方法重载超类的方法时;当一个接口中的方法继承父接口中的方法时;当在类中实现该类继承的接口的方法的时候;举荐的风格运用code./code来

12、标记关键字或重要的名称,如:java关键字,包名称,类名称,方法名称,接口名称,代码样例等。运用内嵌的链接1ink来引起超连结建议运用短语代替句子,特殊是在Param标记描述的时候在描述部分中尽量是用第三人称而不是其次人称进行描述,例如:在描述是尽量是用动宾结构Gets the label ofthisbutton.(首选格式)Thismethodgetsthelabelofthis(避Getsthelabel.(首选格式)Getthelabel.(避开格式)button.免格式)避开运用拉丁语,例如:应当用forexample取代e.g.,用thatis或者tobespecific代替i.e

13、.等等。标记惯例java规定1.0版规定了一下描述标记*author(类和接口中必需运用此标记)*version(类和接口中必需运用此标记)*ParaIn(只在方法和结构中运用)*return(只在方法中运用)*exception(如throws一样,用来表示抛出异样),例如:/*throwsIOExceptionIfaninputoroutputexceptionoccurred*/publicvoidf()throwsIOException/body*See(用来指出参考的部分)*since(起先版本)例:/*SinCe1.2*/*serial(等同于SeriaIFieId或SerialD

14、ata表示持续时间)*deprecated(不赞成运用),例:/*deprecatedAsofJDK1.1,replacedbySetBounds*seettsetBounds(int,int,int,int)*/以上标记假如有多个的话,通常依据字母依次列出,例如:seeseettfieldsee#Constructor(Type,Type.)ttConstructor(Typeid,Typeid.)seettmethod(Type,Type,.)seettmethod(Typeid,Type,id.)seeClassseeClassftfieldseeClassttConstructor(T

15、ype,Type.)seeClassttConstructor(Typeid,Typeid)seeClassttmethod(Type,Type,.)seeClassttmethod(Typeid,Typeid,.)seepackage.Classseepackage.Class#fieldseepackage.ClassttConstructor(Type,Type.)seepackage.ClassttConstructor(Typeid,Typeid)seepackage.Classttmethod(Type,Type,.)seepackage.Classttmethod(Typeid,

16、Type,id)seepackage关于java标记基本原则更为具体的说明可见:JaVadoCReferencepage程序异样的注释全部检查过(CatCh)异样必需注释未检查的(RuntimeException)但调用的时候可能出现的异样,可适当的进行注释。包级的注释javadoc能够依据包的注释文件生成包的概述文件.其过程如下package,htmlpackage-summary,html(sourcefile)javadoc(destinationfile)Copy注释文件t44body和/body之间的内容作为最为包的概述放入package-summary.html文件.处理注释文件中

17、出现的see,sinceor1ink)等Javadoc标记Copy第一句作为总体概述(OVerViewSUmnIary)关于package,html的写法,通常有以下2种:空的包级注释模板,参考:EmptyTemplateforPackage-LevelDocCommentFile常用的模板格式如下:第一句应当是关于包的概述.如:Providesclassesandinterfacesforhandlingtext,dates,numbersandmessagesinamannerindependentofnaturallanguages.说明包的内容和目的包的规定包括整个包的规定.例如,ja

18、va,awt包应当描述该包在不同操作系统(Windows,Solaris,Mac)下的一般规定和行为.包括链接到没出现在javadoc产生的文档中的声明。包括该规定的一些参考相关的文档包括未出现在规定中的申明,如样例,向导,演示程序等类和接口的说明Omitthissectionuntilweimplementcategorytag说明类和接口的逻辑分组see指出供参考的其他类,包,接口等内部类的注释关于内部类的注释通常如下例:/*Themethodusedforcreatingthetree.Anystructuralmodifications*tothedisplayoftheJtreesh

19、ouldbedonebyoverridingthismethod.*ThismethodaddsananonymousTreeSelectionListenertothereturnedJTree.*UponreceivingTreeSelectionEvents,thislistenercallsrefreshwith*theselectednodeasaparameter.*/publicJTreemakeTree(Areainfoai)注释样例以下是SUN供应的注释样例,以供参考/*Graphicsistheabstractbaseclassforallgraphicscontexts*

20、whichallowanapplicationtodrawontocomponentsrealizedon*variousdevicesorontooff-screenimages.*AGraphicsobjectencapsulatesthestateinformationneeded*forthevariousrenderingoperationsthatJavasupports.This*stateinformationincludes:*ul*IiTheComponenttodrawon*IiAtranslationoriginforrenderingandclippingcoordi

21、nates*IiThecurrentclip*IiThecurrentcolor*IiThecurrentfont*IiThecurrentlogicalpixeloperationfunction(XORorPaint)*IiThecurrentXORalternationcolor*(seeahref=ttsetXORModesetXORMode/a)*ul*p*Coordinatesareinfinitelythinandliebetweenthepixelsofthe*outputdevice.*Operationswhichdrawtheoutlineofafigureoperate

22、bytraversing*alongtheinfinitelythinpathwithapixel-sizedpenthathangs*downandtotherightoftheanchorpointonthepath.*Operationswhichfillafigureoperatebyfillingtheinterior*oftheinfinitelythinpath.*Operationswhichrenderhorizontaltextrendertheascending*portionofthecharactersentirelyabovethebaselinecoordinat

23、e.*p*Someimportantpointstoconsiderarethatdrawingafigurethat*coversagivenrectanglewilloccupyoneextrarowofpixelson*therightandbottomedgescomparedtofillingafigurethatis*boundedbythatsamerectangle.*Also,drawingahorizontallinealongthesameycoordinateas*thebaselineofalineoftextwilldrawthelineentirelybelow*

24、thetextexceptforanydescenders.*Bothofthesepropertiesareduetothepenhangingdownandto*therightfromthepaththatittraverses.*p*Allcoordinateswhichappearasargumentstothemethodsofthis*Graphicsobjectareconsideredrelativetothetranslationorigin*ofthisGraphicsobjectpriortotheinvocationofthemethod.*Allrenderingo

25、perationsmodifyonlypixelswhichliewithinthe*areaboundedbyboththecurrentclipofthegraphicscontext*andtheextentsoftheComponentusedtocreatetheGraphicsobject.*authorSamiShaio*authorArthurvanHoff*version%I%,%G%*sinceJDKl.O*/publicabstractclassGraphics*Drawsasmuchofthespecifiedimageasiscurrentlyavailable*wi

26、thitsnorthwestcorneratthespecifiedcoordinate(x,y).*Thismethodwillreturnimmediatelyinallcases,evenifthe*entireimagehasnotyetbeenscaled,ditheredandconverted*forthecurrentoutputdevice.*p*Ifthecurrent* theoutputrepresentationisnotyetcompletethenmethodwillreturnfalseandtheindicatedlinkImageObserver)*obje

27、ctwillbenotifiedastheconversionprocessprogresses.* *paramimgtheimagetobedrawn*Paralnxthe-coordinateofthenorthwestcornerofthe*destinationrectangleinpixels*paramythey-coordinateofthenorthwestcornerofthe*destinationrectangleinpixels* paramobservertheimageobservertobenotifiedasmoreofthe*imageisconverted

28、.Maybecodenull/code*returncodetrue/codeiftheimageiscompletely*loadedandwaspaintedsuccessfully;*codefalse/codeotherwise.*seeImage*seeImageObserver*sinceJDKl.0*/publicabstractbooleandrawlmage(Imageimg,intx,inty,ImageObserverobserver);*Disposeofthesystemresourcesusedbythisgraphicscontext.*TheGraphicsco

29、ntextcannotbeusedafterbeingdisposedof.*Whilethefinalizationprocessofthegarbagecollectorwill*alsodisposeofthesame* of Graphics objects* it is preferablesystemresources,duetothenumberthatcanbecreatedinshorttimeframes* using thistomanuallyfreetheassociatedresourcesmethodratherthantorelyonafinalization*

30、processwhichmaynothappenforalongperiodoftime.*p*Graphicsobjectswhichareprovidedasargumentstothepaint*andupdatemethodsofComponentsareautomaticallydisposed*bythesystemwhenthosemethodsreturn.Programmersshould,*forefficiency,callthedisposemethodwhenfinishedusing*aGraphicsobjectonlyifitwascreateddirectlyfroma*ComponentoranotherGraphicsobject.*seettcreate*seettfinalize*seeComponentttgetGraphics*seeComponentttpaint*seeComponentttupdate*sinceJDKl.O*/publicabstractvoiddispose();*Disposesofthisgraphicscontextonceitisnolongerreferenced.*seettdispose*sinceJDKl.O*/publicvoidfinalize()dispose();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号