背景簡介
豐富的註釋和良好的程式碼規範,對於程式碼的閱讀性和可維護性起著至關重要的作用。幾乎每個公司對這的要求還是比較嚴格的,往往會形成自己的一套編碼規範。但是再實施過程中,如果全靠手動完成,不僅效率低下,還難以保證真正的符合規範。所以結合IDE環境,自動生成註釋,還是很有必要的。今天我們就說一下,如何使用Eclipse給我們提供的自定義程式碼模版的功能來作業。
設定註釋模板
設定註釋模板的入口:Window->Preference->Java->Code Style->Code Template
,然後展開Comments節點就是所有需設定註釋的元素了!
接下來,對每一個元素逐一介紹:
- 檔案(Files)註釋標籤
Files標籤是對新建的檔案的說明,出現在檔案最上面
舉栗子:
/**
* Copyright © ${year} eSunny Info. Tech Ltd. All rights reserved.
*
* @Package: ${package_name}
* @author: ${user}
* @date: ${date} ${time}
*/複製程式碼
- 型別(Types)註釋標籤(類的註釋)
Types標籤是對類Class的一個說明,出現在類上面
舉栗子:
/**
* @ClassName: ${type_name}
* @Description: ${todo}
* @author: ${user}
* @date: ${date} ${time}
* ${tags}
*/複製程式碼
- 欄位(Fields)註釋標籤
Fields標籤是對變數欄位的說明
舉栗子:
// @Fields ${field} : ${todo}(用一句話描述這個變數表示什麼) 複製程式碼
- 建構函式(Constructors)標籤
Constructors標籤是對類的建構函式的說明
舉栗子:
/**
* @Title:${enclosing_type}
* @Description:${todo}
* ${tags}
*/ 複製程式碼
- 方法(Methods)標籤
Methods標籤是對函式方法的說明
舉栗子:
/**
* @Title: ${enclosing_method}
* @Description: ${todo}
* ${tags} ${return_type}
* @author ${user}
* @date ${date}${time}
*/ 複製程式碼
- 覆蓋方法(Overriding Methods)標籤
Overriding Methods標籤是對覆蓋方法的說明
舉栗子:
/* (non Javadoc)
* @Title: ${enclosing_method}
* @Description: ${todo}
* ${tags}
* ${see_to_overridden}
*/ 複製程式碼
- 代表方法(Delegate Methods)標籤
舉栗子:
/**
* ${tags}
* ${see_to_target}
*/ 複製程式碼
- getter方法標籤
舉栗子:
/**
* @return ${bare_field_name}
*/ 複製程式碼
- setter方法標籤
舉栗子:
/**
* @param ${param} 要設定的 ${bare_field_name}
*/ 複製程式碼
以上標籤,只需要點選右側皮膚上的按鈕 – 編輯(Edit), 便可修改成自己的註釋!
如何自動新增註釋
可通過如下三種方法自動新增註釋:
(1)輸入“/**”並回車。
(2)用快捷鍵 Alt+Shift+J(先選中某個方法、類名或變數名)。
(3)在右鍵選單中選擇“Source > Generate ElementComment”。
另外,新建檔案或類的時候,怎麼自動生成檔案(file)的註釋呢?
只需要勾選Automatically and comments for new methods and types
即可!
匯入/匯出程式碼格式模板
如果你辛辛苦苦定製好了自己的程式碼風格,然後換了臺機器進行操作或重灌了Eclipse,是不是要重新配置一遍呢?答案當然是No了,Eclipse提供了“匯出”和“匯入”功能,你可以把自己的模板匯出來在其他機器上使用。
建立自定義註釋模板
eclipse自帶一些註釋模板,如日期(@date)、檔名(@ClassName)、作者(@author)等,那麼怎麼自定義一些註釋模板呢? codetemplates.xml模板內容,可直接匯入eclipse
/**
* @Fields field:field:{todo}(用一句話描述這個變數表示什麼)
*//**
* MIT License
* Copyright (c) 2018 haihua.liu
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the “Software”), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*//**
* @param paramtheparamthe{bare_field_name} to set
*//**
* @return ${bare_field_name}
*//**
* @ClassName: ${type_name}
* @Description: ${todo}(這裡用一句話描述這個類的作用)
* @author ${user}
* @date ${date}
*
* ${tags}
*//** (非 Javadoc)
*
*
* ${tags}
* ${see_to_overridden}
*//**
* ${tags}
* ${see_to_target}
*//**
* @Title: ${enclosing_method}
* @Description: ${todo}(這裡用一句話描述這個方法的作用)
* @param ${tags} 引數
* @return ${return_type} 返回型別
* @throws
*/ /**
* 建立一個新的例項 ${enclosing_type}.
*
* ${tags}
*/