javadoc注释规范Word文档下载推荐.docx
《javadoc注释规范Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《javadoc注释规范Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
*<
show方法的详细说明第一行<
*show方法的详细说明第二行
*@parambtrue表示显示,false表示隐藏
*@return没有返回值
publicvoidshow(booleanb){
frame.show(b);
}
第一部分是简述。
文档中,对于属性和方法都是先有一个列表,然后才在后面一个一个的详细的说明
简述部分写在一段文档注释的最前面,第一个点号(.)之前(包括点号)。
换句话说,就是用第一个点号分隔文档注释,之前是简述,之后是第二部分和第三部分。
第二部分是详细说明部分。
该部分对属性或者方法进行详细的说明,在格式上没有什么特殊的要求,可以包含若干个点号。
简述也在其中。
这一点要记住了
第三部分是特殊说明部分。
这部分包括版本说明、参数说明、返回值说明等。
三.使用javadoc标记
javadoc标记由“@”及其后所跟的标记类型和专用注释引用组成
javadoc标记有如下一些:
@author标明开发该类模块的作者
@version标明该类模块的版本
@see参考转向,也就是相关主题
@param对方法中某参数的说明
@return对方法返回值的说明
@exception对方法可能抛出的异常进行说明
@author作者名
@version版本号
其中,@author可以多次使用,以指明多个作者,生成的文档中每个作者之间使用逗号(,)隔开。
@version也可以使用多次,只有第一次有效
使用@param、@return和@exception说明方法
这三个标记都是只用于方法的。
@param描述方法的参数,@return描述方法的返回值,@exception描述方法可能抛出的异常。
它们的句法如下:
@param参数名参数说明
@return返回值说明
@exception异常类名说明
四.javadoc命令
用法:
javadoc[options][packagenames][sourcefiles]
选项:
-public仅显示public类和成员
-protected显示protected/public类和成员(缺省)
-package显示package/protected/public类和成员
-private显示所有类和成员
-d<
directory>
输出文件的目标目录
-version包含@version段
-author包含@author段
-splitindex将索引分为每个字母对应一个文件
-windowtitle<
text>
文档的浏览器窗口标题
javadoc编译文档时可以给定包列表,也可以给出源程序文件列表。
例如在CLASSPATH下有两个包若干类如下:
fancy.Editor
fancy.Test
fancy.editor.ECommand
fancy.editor.EDocument
fancy.editor.EView
可以直接编译类:
javadocfancy\Test.javafancy\Editor.javafancy\editor\ECommand.javafancy\editor\EDocument.javafancy\editor\EView.java
也可以是给出包名作为编译参数,如:
javadocfancyfancy.editor
可以自己看看这两种方法的区别
到此为止javadoc就简单介绍完了,想要用好她还是要多用,多参考标准java代码
Java代码规范
--注释
@authorLEI
@version1.102005-09-01
1注释文档的格式
注释文档将用来生成HTML格式的代码报告,所以注释文档必须书写在类、域、构造函数、方法、定义之前。
注释文档由两部分组成——描述、块标记。
例如:
*ThedoGetmethodoftheservlet.
*Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget.
*
*@paramrequest
*therequestsendbytheclienttotheserver
*@paramresponse
*theresponsesendbytheservertotheclient
*@throwsServletException
*ifanerroroccurred
*@throwsIOException
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
前两行为描述,描述完毕后,由@符号起头为块标记注视。
2注释的种类
2.1文件头注释
文件头注释以/*开始,以*/结束,需要注明该文件创建时间,文件名,命名空间信息。
/*
*Createdon2005-7-2
*/
2.2类、接口注释
类、接口的注释采用/**…*/,描述部分用来书写该类的作用或者相关信息,块标记部分必须注明作者和版本。
/**Title:
XXXXDRIVER3.0
*Description:
*Copyright:
Copyright(c)2003
*Company:
XXXX有限公司
*@authorJavaDevelopmentGroup
*@version3.0
*Aclassrepresentingawindowonthescreen.
*Forexample:
*Windowwin=newWindow(parent);
*win.show();
*@authorSamiShaio
*@version%I%,%G%
*@seejava.awt.BaseWindow
*@seejava.awt.Button
classWindowextendsBaseWindow{
...
2.3构造函数注释
构造函数注释采用/**…*/,描述部分注明构造函数的作用,不一定有块标记部分。
*默认构造函数
有例如:
*带参数构造函数,初始化模式名,名称和数据源类型
*@paramschema
*Ref模式名
*@paramname
*Ref名称
*@paramtype
*byVal数据源类型
2.4域注释
域注释可以出现在注释文档里面,也可以不出现在注释文档里面。
用/**…*/的域注释将会被认为是注释文档热出现在最终生成的HTML报告里面,而使用/*…*/的注释会被忽略。
/*由于triger和表用一个DMSource,所以要区分和表的迁移成功标记*/
booleanisTrigerSuccess=false;
又例如:
/**由于triger和表用一个DMSource,所以要区分和表的迁移成功标记*/
再例如:
*TheX-coordinateofthecomponent.
*@see#getLocation()
intx=1263732;
2.5方法注释
方法注释采用/**…*/,描述部分注明方法的功能,块标记部分注明方法的参数,返回值,异常等信息。
*设置是否有外码约束
*@paramconn
*Connection与数据库的连接
2.6定义注释
规则同域注释。
3注释块标记
3.1标记的顺序
块标记将采用如下顺序:
…
*@param(classes,interfaces,methodsandconstructorsonly)
*@return(methodsonly)
*@exception(@throwsisasynonymaddedinJavadoc1.2)
*@author(classesandinterfacesonly,required)
*@version(classesandinterfacesonly,required.Seefootnote1)
*@see
*@since
*@serial(or@serialFieldor@serialData)
*@deprecated(seeHowandWhenToDeprecateAPIs)
*…
一个块标记可以根据需要重复出现多次,多次出现的标记按照如下顺序:
@author按照时间先后顺序(chronological)
@param按照参数定义顺序(declaration)
@throws按照异常名字的字母顺序(alphabetically)
@see按照如下顺序:
@see#field
@see#Constructor(Type,Type...)
@see#Constructor(Typeid,Typeid...)
@see#method(Type,Type,...)
@see#method(Typeid,Type,id...)
@seeClass
@seeClass#field
@seeClass#Constructor(Type,Type...)
@seeClass#Constructor(Typeid,Typeid)
@seeClass#method(Type,Type,...)
@seeClass#method(Typeid,Typeid,...)
@seepackage.Class
@seepackage.Class#field
@seepackage.Class#Constructor(Type,Type...)
@seepackage.Class#Constructor(Typeid,Typeid)
@seepackage.Class#method(Type,Type,...)
@seepackage.Class#method(Typeid,Type,id)
@seepackage
3.2标记介绍
3.2.1@param标记
@param后面空格后跟着参数的变量名字(不是类型),空格后跟着对该参数的描述。
在描述中第一个名字为该变量的数据类型,表示数据类型的名次前面可以有一个冠词如:
a,an,the。
如果是int类型的参数则不需要注明数据类型。
*@paramchthechar用用来……
*@param_imagetheimage用来……
*@param_num一个数字……
对于参数的描述如果只是一短语,最好不要首字母大写,结尾也不要句号。
对于参数的描述是一个句子,最好不要首字母大写,如果出现了句号这说明你的描述不止一句话。
如果非要首字母大写的话,必须用句号来结束句子。
(英文的句号)
公司内部添加ByRef和ByVal两个标记,例如:
*@param_imagetheimageByRef用来……
说明该参数是引用传递(指针),ByVal可以省略,表示是值传递。
3.2.2@return标记
返回为空(void)的构造函数或者函数,@return可以省略。
如果返回值就是输入参数,必须用与输入参数的@param相同的描述信息。
必要的时候注明特殊条件写的返回值。
3.2.3@throws标记
@throws以前使用的是@exception。
@throws的内容必须在函数的throws部分定义。
3.2.4@author标记
类注释标记。
函数注释里面可以不出现@author。
3.2.5@version
函数注释里面可以不出现@version
3.2.6@since
标明该类可以运行的JDK版本
@sinceJDK1.2
3.2.7@deprecated
由于某种原因而被宣布将要被废弃的方法。
*@deprecatedAsofJDK1.1,replacedby
*setBounds
*@see#setBounds(int,int,int,int)
3.2.8@link标记
语法:
{@linkpackage.class#memberlabel}
Label为链接文字。
package.class#member将被自动转换成指向package.class的member文件的URL。
4HTML代码的使用
在注释描述部分可以使用HTML代码。
表示段落
*….
表示自动标号
5注释示例
*Graphicsistheabstractbaseclassforallgraphicscontexts
*whichallowanapplicationtodrawontocomponentsrealizedon
*variousdevicesorontooff-screenimages.
*AGraphicsobjectencapsulatesthestateinformationneeded
*forthevariousrenderingoperationsthatJavasupports.This
*stateinformationincludes:
#*TheComponenttodrawon
#*Atranslationoriginforrenderingandclippingcoordinates
#*Thecurrentclip
#*Thecurrentcolor
#*Thecurrentfont
#*Thecurrentlogicalpixeloperationfunction(XORorPaint)
#*ThecurrentXORalternationcolor
*(seesetXORMode)
*Coordinatesareinfinitelythinandliebetweenthepixelsofthe
*outputdevice.
*Operationswhichdrawtheoutlineofafigureoperatebytraversing
*alongtheinfinitelythinpathwithapixel-sizedpenthathangs
*downandtotherightoftheanchorpointonthepath.
*Operationswhichfillafigureoperatebyfillingtheinterior
*oftheinfinitelythinpath.
*Operationswhichrenderhorizontaltextrendertheascending
*portionofthecharactersentirelyabovethebaselinecoordinate.
*Someimportantpointstoconsiderarethatdrawingafigurethat
*coversagivenrectanglewilloccupyoneextrarowofpixelson
*therightandbottomedgescomparedtofillingafigurethatis
*boundedbythatsamerectangle.
*Also,drawingahorizontallinealongthesameycoordinateas
*thebaselineofalineoftextwilldrawthelineentirelybelow
*thetextexceptforanydescenders.
*Bothofthesepropertiesareduetothepenhangingdownandto
*therightfromthepaththatittraverses.
*Allcoordinateswhichappearasargumentstothemethodsofthis
*Graphicsobjectareconsideredrelativetothetranslationorigin
*ofthisGraphicsobjectpriortotheinvocationofthemethod.
*Allrenderingoperationsmodifyonlypixelswhichliewithinthe
*areaboundedbyboththecurrentclipofthegraphicscontext
*andtheextentsoftheComponentusedtocreatetheGraphicsobject.
*@authorArthurvanHoff
*@since1.0
publicabstractclassGraphics{
*Drawsasmuchofthespecifiedimageasiscurrentlyavailable
*withitsnorthwestcorneratthespecifiedcoordinate(x,y).
*Thismethodwillreturnimmediatelyinallcases,evenifthe
*entireimagehasnotyetbeenscaled,ditheredandconverted
*forthecurrentoutputdevice.
*Ifthecurrentoutputrepresentationisnotyetcompletethen
*themethodwillreturnfalseandtheindicated
*{@linkImageObserver}objectwillbenotifiedasthe
*conversionprocessprogresses.
*@paramimgtheimagetobedrawn
*@paramxthex-coordinateofthenorthwestcorner
*ofthedestinationrectangleinpixels
*@paramythey-coordinateofthenorthwestcorner
*@paramobservertheimageobservertobenotifiedasmore
*o