解決阿里程式碼規範檢測中方法缺少javadoc註釋的問題
阿新 • • 發佈:2020-08-11
一、問題描述
安裝了阿里程式碼檢測的外掛後,敲一個簡單的方法,發現提示有問題,如下
/** * 查詢User的集合 */ List<User> findAll();
提示資訊為:
方法【findAll】缺少javadoc註釋
進一步檢視完整文件裡面關於方法註釋的規範為
所有的抽象方法(包括介面中的方法)必須要用javadoc註釋、除了返回值、引數、異常說明外,還必須指出該方法做什麼事情,實現什麼功能。 說明:如有實現和呼叫注意事項,請一併說明。 /** * fetch data by rule id * * @param ruleId rule id * @param page page number * @param jsonContext json format context * @return Result<XxxxDO> */ Result<XxxxDO> fetchDataByRuleId(Long ruleId,Integer page,String jsonContext);
二、問題分析
從阿里提供的程式碼規範我們可以知道以下資訊:
1.要包含方法說明
2.要包含引數列表
3.要包含返回值型別
4.要嚴格注意註釋的縮排和星號數量
而關於日期、作者、時間這些並沒有做要求
所以我們可以通過新增模板的方法,來實現自動註釋,避免警告
這裡以IDEA為例
三、解決問題
點選 File
- Settings...
- Editor
- Live Templates
點選右邊的 +
號,選擇Template Group...
來新建一個模板組
輸入模板組的名稱,這裡以myJava為例,然後在模板組下點選+
號Live Template
註釋文字如下,可以直接複製,除了必要的引數列表和返回值後,你還可以自定義方法名、作者、日期等等,這裡不再贅述
/** * description: * @Param $PARAMS$ $RETURN$ */
點選Edit variables
,一定要記得把勾都選上,return的值可以在下拉選單找到,而Params的值請複製以下表達式
groovyScript( "def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]','').split(',').toList(); for(i = 0; i < params.size(); i++) { result +=' * @param ' + params[i] + ((i < params.size() - 1) ? '\\n' : '')}; return result ",methodParameters())
點選Apply
或者ok
,就大功告成了!
四、使用方法
編寫完方法後在方法上面輸入/*
,再按TAB
鍵就會自動生成模板,然後在第一行輸入方法描述就符合規範啦!
注意事項:官方文件中要求@引數
需要小寫,如果寫成了@Return
就是錯誤的,應該寫成@return
到此這篇關於解決阿里程式碼規範檢測中方法缺少javadoc註釋的問題的文章就介紹到這了,更多相關阿里程式碼規範缺少javadoc註釋內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!