DOC文檔注釋,讓你的代碼如此清晰.

2021-02-13 java工會

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

<h2><ul><li>Maven:</li><li>&lt;dependency&gt;</li><li>&nbsp;&nbsp;&lt;groupId&gt;api.jjshome.bigdata&lt;/groupId&gt;</li><li>&nbsp;&nbsp;&lt;artifactId&gt;bd-api-client&lt;/artifactId&gt;</li><li>&nbsp;&nbsp;&lt;version&gt;1.0.0-SNAPSHOT&lt;/version&gt;</li><li>&lt;/dependency&gt;</li></ul></h2>

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方法注釋:

/**

* @功能描述: <p>根據workerId查詢經紀人小區帶看列表</p>

* <p><font color=red>注意:</font>

* 只返回根據帶看數量,最近一次帶看時間倒序排序的前topNum條記錄</p>

* @創建作者: **

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

* @param workerId 員工ID

* @param topNum 排序前幾個

* @return <p>返回對象參考{@link BigdataResult}<{@link List}<{@link AgentDKRecordVo}>></p>

*/

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

這裡多使用註解就能生成漂亮的文檔了,參數和返回對象一定要寫清楚,如果有對象參數的話,就可以用@see註解,示例如下:

/**

* @功能描述: 根據workerId查詢經紀人成交記錄

* @創建作者: **

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

* @param workerId 員工ID

* @param page 分頁對象

* @return <p>返回對象參考{@link BigdataResult}<{@link List}<{@link EsfCjHqHouseInfo}>></p>

* @see PageInfo

*/

public BigdataResult<List<EsfCjHqHouseInfo>> 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冊編程電子書資料
後臺回復【提問】:任何問題都可以問我,感謝支持。

相關焦點

  • 如何優雅地使用Python中的代碼注釋
    你還會學到:為什麼代碼注釋如此重要用Python編寫注釋的最佳實踐希望避免的注釋類型如何練習寫出更清晰明了的注釋為什麼注釋代碼如此重要注釋是任何程序的一個組成部分,它們可以以注釋塊的形式或者在代碼行中出現,來幫助闡明解釋一個複雜的函數。在深入研究不同類型的注釋之前,讓我們仔細看看為什麼代碼注釋如此重要。
  • python筆記30-docstring注釋添加變量
    前言」」」美程式設計師槍擊4同事,竟因代碼不寫注釋?」」」docstring也就是給代碼加注釋的內容了,python可以給函數,類、方法,模塊添加注釋內容,注釋標準格式一般是三個雙引號(或三個單引號)docstring先看一個簡單案例,在函數裡面添加注釋內容,函數下方三個雙引號裡面就可以寫該函數的注釋文檔了,如果需要調用此函數的注釋內容# coding:utf-8def yoyo():    """函數功能:列印hello
  • smart-doc 1.8.1 發布,Java 零註解文檔生成工具
    ,你只需要寫上java的標準注釋,smart-doc就能幫你生成一個簡易明了的Markdown、Html、AsciiDoc文檔和Postman collection一鍵導入的測試數據。如果你不喜歡其他工具強侵入的註解汙染,smart-doc給你一個不錯的選擇!喜歡smart-doc的用戶也不要忘記給項目star,你們的支持是smart-doc持續推進的動力。功能特性 零註解、零學習成本、只需要寫標準java注釋。 基於原始碼接口定義自動推導,強大的返回結構推導。
  • smart-doc 1.9.4 發布,Java 零註解 API 文檔生成工具
    smart-doc完全基於接口源碼分析來生成接口文檔,完全做到零註解侵入,你只需要按照java標準注釋編寫,smart-doc就能幫你生成一個簡易明了的markdown 或是一個像GitBook樣式的靜態html文檔。如果你已經厭倦了swagger等文檔工具的無數註解和強侵入汙染,那請擁抱smart-doc吧!
  • smart-doc 1.9.9 發布,Java 零註解 API 文檔生成工具
    ,smart-doc顛覆了傳統類似swagger這種大量採用註解侵入來生成文檔的實現方法。smart-doc完全基於接口源碼分析來生成接口文檔,完全做到零註解侵入,你只需要按照java標準注釋編寫,smart-doc就能幫你生成一個簡易明了的markdown 或是一個像GitBook樣式的靜態html文檔。如果你已經厭倦了swagger等文檔工具的無數註解和強侵入汙染,那請擁抱smart-doc吧!
  • smart-doc 1.9.6 發布,Java 零註解 API 文檔生成工具
    smart-doc完全基於接口源碼分析來生成接口文檔,完全做到零註解侵入,你只需要按照java標準注釋編寫,smart-doc就能幫你生成一個簡易明了的markdown 或是一個像GitBook樣式的靜態html文檔。如果你已經厭倦了swagger等文檔工具的無數註解和強侵入汙染,那請擁抱smart-doc吧!
  • smart-doc 2.0.1 發布,Java 零註解 API 文檔生成工具
    ,smart-doc顛覆了傳統類似swagger這種大量採用註解侵入來生成文檔的實現方法。smart-doc完全基於接口源碼分析來生成接口文檔,完全做到零註解侵入,你只需要按照java標準注釋編寫,smart-doc就能幫你生成一個簡易明了的markdown 或是一個像GitBook樣式的靜態html文檔。如果你已經厭倦了swagger等文檔工具的無數註解和強侵入汙染,那請擁抱smart-doc吧!
  • smart-doc 2.0.2 發布,Java 零註解 API 文檔生成工具
    smart-doc 完全基於接口源碼分析來生成接口文檔,完全做到零註解侵入,你只需要按照 java 標準注釋編寫,smart-doc 就能幫你生成一個簡易明了的 markdown 或是一個像 GitBook 樣式的靜態 html 文檔。如果你已經厭倦了 swagger 等文檔工具的無數註解和強侵入汙染,那請擁抱 smart-doc 吧!功能特性 支持接口 debug。
  • smart-doc 2.0.0 重磅發布,Java 零註解 API 文檔生成工具
    ,smart-doc顛覆了傳統類似swagger這種大量採用註解侵入來生成文檔的實現方法。smart-doc完全基於接口源碼分析來生成接口文檔,完全做到零註解侵入,你只需要按照java標準注釋編寫,smart-doc就能幫你生成一個簡易明了的markdown 或是一個像GitBook樣式的靜態html文檔。如果你已經厭倦了swagger等文檔工具的無數註解和強侵入汙染,那請擁抱smart-doc吧!
  • Python代碼規範——注釋和命名規範
    注釋的本意,是指解釋字句的文字,也指用文字解釋字句。而Python中的注釋,是用來解釋某一段代碼的具體用途,其分為兩種,注釋和文檔注釋。編碼行注釋至少使用兩個空格和語句分開,注意不要使用無意義的注釋。這邊有幾個需要注意的點,在代碼的關鍵部分(或比較複雜的部分),能寫注釋的儘量寫注釋,而比較重要的幾個注釋段,要使用多個等號隔開,讓這個注釋更加醒目,突出重要性。
  • PHP Document 代碼注釋規範
    然後,我們就可以通過查看生成的文檔了,如果是pdf格式的,名字默認為documentation.pdf。4.給php代碼添加規範的注釋PHPDocument是從你的原始碼的注釋中生成文檔,因此在給你的程序做注釋的過程,也就是你編制文檔的過程。
  • smart-doc 1.9.0 發布,新增 Open Api 3.0+ 支持
    smart-doc是一款同時支持java restful api和apache dubbo rpc接口文檔生成的工具,smart-doc顛覆了傳統類似swagger這種大量採用註解侵入來生成文檔的實現方法
  • 給代碼寫注釋時有哪些講究?
    來源:strongerHuang如果領導給你一個項目的源碼讓你閱讀,並理解重構代碼,但裡面一句注釋都沒有,我想這肯定是之前同事「刪庫跑路」了 文件內容如果一個 .h 文件聲明了多個概念, 則文件注釋應當對文件的內容做一個大致的說明, 同時說明各概念之間的聯繫。一個一到兩行的文件注釋就足夠了, 對於每個概念的詳細文檔應當放在各個概念中, 而不是文件注釋中。不要在 .h 和 .cc 之間複製注釋, 這樣的注釋偏離了注釋的實際意義。
  • Spring Doc 生成OPEN API 3文檔
    概述公司正好最近在整理項目的文檔,且文檔對於構建REST API來說是至關重要的。在這篇文章中,我將介紹Spring Doc , 一個基於OpenAPI 3規範簡化了Spring Boot 1.x和2.x應用程式的API文檔的生成和維護的工具。2.
  • PEP 0257 -- Docstring 約定
    但它從來不會強迫你去按照它的標準做你不喜歡的事情。這就是Python!」—Tim Peters on comp.lang.python, 2001-06-16如果你不按約定編寫代碼,最壞的情況是,寫出來的代碼很邋遢。但有些軟體代碼的編寫必須按照約定來(比如 Docutils [3] docstring 的處理系統[1] [2] )。
  • 用 Doc2Vec 得到文檔/段落/句子的向量表達
    例如首先是找到一個向量可以代表文檔的意思,然後可以將向量投入到監督式機器學習算法中得到文檔的標籤,例如在情感分析 sentiment analysis 任務中,標籤可以是 「negative」, 「neutral」,」positive」。
  • 代碼整潔之道-編寫 Pythonic 代碼
    作為開發人員,你有責任在命名變量和函數時仔細考慮,要寫讓人能夠清晰易懂的代碼。當然也方便自己以後去維護。類的命名規範類的名稱應該像大多數其他語言一樣使用駝峰大小寫。單行代碼雖然看起來很酷節省了行,但是會給代碼添加很多複雜性。 但是這並不意味著單行代碼就不好 這裡提出的一點是,如果你的單行代碼使代碼變得更難閱讀,那麼就請避免使用它,記住寫代碼不是為了炫酷的,尤其在項目組中。讓我們再考慮一個例子,你試圖讀取 CSV 文件並計算 CSV 文件處理的行數。下面的代碼展示使代碼可讀的重要性,以及命名如何在使代碼可讀中發揮重要作用。
  • 你寫注釋嗎?寫你就輸了
    我並不是提倡不寫代碼注釋,只是建議不要過於依賴注釋,這樣可以使代碼更乾淨、更有表現力,這也能提高開發人員的水平。我自己也在尋求編寫更簡潔的代碼,我盡力不編寫糟糕的注釋,並在可能時重構代碼。 本文最初發布於 Level Up Coding 官方博客,經原作者授權由 InfoQ 中文站翻譯並分享。這篇文章的標題可能會讓你情緒激動,但請先耐心聽我說完。
  • 打開Word文檔論doc與docx格式的區別
    當你點擊左鍵開始新建文檔,你有沒有想過是建立doc格式還是建立docx格式。雖然兩者現在都可以用Office和WPS打開,而且兩者之間可以進行格式轉換,但是兩者之間還是有著一些區別,對於還寫還在寫著論文的人來說可以了解一下喲。
  • Python代碼如何升級為Pythonic 代碼
    作為一名Python開發人員,你希望確保正在構建的軟體能夠讓用戶滿意,而不會超出預算或無法發布。對此,小編整理了一份適合所有Python學習者的資料:Python代碼整潔之道。寫出 Pythonic 代碼談到規範首先想到就是 Python 有名的 PEP8 代碼規範文檔,它定義了編寫Pythonic代碼的最佳實踐。