DOC文档注释,让你的代码如此清晰(文末有福利)

1.开发背景,这不重要

最近一直在写dubbo接口,以前总是用word文档写接口描述然后发给别人。现在太多了,而且跟别人对接联调的人家急着用,根本没时间去写word文档。那就想想怎么用doc文档注释自动生成接口文档了。本来以前对这一块有点印象,但是并不熟悉,加上没有很强烈的要去使用的意图,所以一直没有弄。今天要感谢公司的大神,大家都叫他欧神,神一样的男人。让我用文档注释。然后就知道怎么弄了,以下是生成的流程。

2.生成方法

先说生成的方法吧,免得一开始将注释规范可能读者觉得比较繁琐,而且注释规范基本上大家都有一套自己的做法。只要规范了注释,就能轻易的生成注释文档。

2.1单击project->Generate Javadoc出现如下界面

Javadoc command:执行doc文档注释的命令,也可以在cmd窗口中输入这个命令

Select types for which Javadoc will be generated:要生成文档注释的项目,这里选择dubbo中间价项目,接口都在这里面声明,生成的文档自然就够用了

Create Javadov for menbers with cisibility:选择private就将私有属性也生成到文档中,默认选择的是public,建议选择private

Destination:生成文档路径

2.2点击下一步

这一页的配置基本上全部选择默认,也可以根据自己的尿性勾选必要的东西

这里也可以导入自己的样式文件,这样可以让文档更美观,这里省略

文档标题可以使用html,示例如下:

大数据接口Api

  • Maven:
  • <dependency>
  •   <groupId>api.jjshome.bigdata</groupId>
  •   <artifactId>bd-api-client</artifactId>
  •   <version>1.0.0-SNAPSHOT</version>
  • </dependency>

2.3点击下一步

这里要输入自定义@标签的定义,如下:

-encoding UTF-8 -charset UTF-8 -tag 功能描述\::a:"功能描述" -tag 项目名称\::a:"项目名称" -tag 项目版本\::a:"项目版本" -tag 使用对象\::a:"使用对象" -tag 接口版本\::a:"接口版本" -tag 创建作者\::a:"创建作者" -tag 创建日期\::a:"创建日期" -tag 问题反馈\::a:"问题反馈";

当然了,如果你全部用doc自带的标签就不用输入任何东西了。

2.4点击完成

然后去2.1步骤中生成的doc路径下打开index.html就可以看到doc文档了,成果如下:

到这里就完成了生成的步骤了,下面我说一下一点点注释要注意的地方,对于注释规范的人可以不用看下去了,但是如果你生成的api里面基本上没有什么内容,那么建议你还是看看下面的内容。

3.doc注释

3.1多行注释

对于属性,方法,类的注释必须使用多行注释,单行注释不会生成到文档中

3.2属性注释:

/** 员工ID */

private String workerId;

3.3方法注释:

/**

* @功能描述:

根据workerId查询经纪人小区带看列表

*

注意:

* 只返回根据带看数量,最近一次带看时间倒序排序的前topNum条记录

* @创建作者: **

* @创建日期: 2016年9月22日 下午3:11:46

* @param workerId 员工ID

* @param topNum 排序前几个

* @return

返回对象参考{@link BigdataResult}<{@link List}<{@link AgentDKRecordVo}>>

*/

public BigdataResult> queryAgentDKList(String workerId, Integer topNum);

这里多使用注解就能生成漂亮的文档了,参数和返回对象一定要写清楚,如果有对象参数的话,就可以用@see注解,示例如下:

/**

* @功能描述: 根据workerId查询经纪人成交记录

* @创建作者: **

* @创建日期: 2016年9月22日 下午8:49:02

* @param workerId 员工ID

* @param page 分页对象

* @return

返回对象参考{@link BigdataResult}<{@link List}<{@link EsfCjHqHouseInfo}>>

* @see PageInfo

*/

public BigdataResult> queryEsfCjListByWorkerId(String workerId, PageInfo page);

这里的@see和@link都可以链接到指定对象的注释文档页面,具体区别使用一次之后就一目了然了,同时@see和@link后面的对象也是需要导包的,不导包的话就使用全局限定名,如@see java.util.List

当然,还可以加入自己定义的一些注解,这些注解要生成到文档注释中就要在如上图的2.3步骤中声明出来,如@功能描述

3.4类的注释

/**

* @功能描述: 接口返回错误码

* @项目版本: 1.0.0

* @项目名称: 大数据接口中心

* @相对路径: *.ResultCodeCenter.java

* @创建作者: **

* @问题反馈: **@126.com

* @创建日期: 2016年9月22日 下午2:32:53

*/

public class ResultCodeConstant {}


4注释模板

单击window->Preferences,搜索框输入“Template”,就能看到模板设置的选项了,举个栗子:

这里可以对属性,方法,类,以及更多内容做模板设置,这样输入注释的时候就能统一了,而且免去了多打字的痛苦,上图是一个类的注释模板

有了这些基本上生成的接口文档就够用了,当然。如果有更高的要求或者注释有自己的规范,也可以按照自己的来设置更多内容。

文末福利,关注我的公众号:

后台回复【视频】:免费获取100G学习视频

后台回复【书籍真多】:免费获取超1000册编程电子书资料

后台回复【提问】:任何问题都可以问我,感谢支持。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,572评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,442评论 25 707
  • 昨天又是充实的一天,感觉自己有些时间没有充分的利用,有时候把自己逼得太紧反而不会有好的氛围。昨天将之前剩余的笔...
    身形高大的萌妹纸阅读 230评论 0 0
  • 在二阶之前,每当我面临选择的时候会告诉自己,凡事有三个选择。但那是头脑层面的,没有临在,我的三个选择其实就是一种自...
    郭腾达阅读 509评论 0 1