团队开发时,业务模块分配的越清晰,代码注释管理越完善,越有利于后面维护,后面再管理也方便不少。另外也起着"文字砖"的作用,你懂的。注释不需要很详细,把代码块方法块功能简述一下就行。不然三月后回头看就要骂人了,骂完发现是自己写的,啧啧啧...
三种常用的 Java 注释方式
// 声明常量 int number;
/* * 类主函数 */ public static void main(String[] args) { }
/** * @param masterId 品牌商Id * @param shopId 店铺Id * @param skuId 商品skuId * @description: 校验商品标识码与店铺的所属关系 * @return: net.jdcloud.APIECRM.model.ValidateSkuUsingGETResponse * @author: niaonao * @date: 2020/01/13 */ public static ValidateSkuUsingGETResponse validateSkuUsing(String masterId, String shopId, String skuId){ return null; }
菜单路径 File-Settings-Editor-File and Code Templates-Incudes-File Header 下添加注释模板,配置模板后点击 Apply OK 应用。
自定义注释模板
/** * @className: ${NAME} * @description: TODO 类描述 * @author: niaonao * @date: ${DATE} **/
新建接口文件自动生成注释,效果如下
/** * @className: CrowdService * @description: 人群对象业务 * @author: niaonao * @date: 2020/1/13 **/ public interface CrowdService { }
预定义变量 | 描述信息 |
---|---|
${NAME} | the name of the current file |
${PACKAGE_NAME} | name of the package in which the new file is created |
${USER} | current user system login name |
${DATE} | current system date |
${TIME} | current system time |
${YEAR} | current year |
${MONTH} | current month |
${MONTH_NAME_SHORT} | first 3 letters of the current month name. Example: Jan, Feb, etc. |
${MONTH_NAME_FULL} | full name of the current month. Example: January, February, etc. |
${DAY} | current day of the month |
${DAY_NAME_SHORT} | first 3 letters of the current day name. Example: Mon, Tue, etc. |
${DAY_NAME_FULL} | full name of the current day. Example: Monday, Tuesday, etc. |
${HOUR} | current hour |
${MINUTE} | current minute |
${PROJECT_NAME} | the name of the current project |
菜单路径 File-Settings-Editor-Live Templates 下添加一个新模板组,名字自定义 JavaTemplateGroup。选中模板组,右侧点击新增按钮,创建新模板。
* $param$ * @description: TODO * @return: $return$ * @author: niaonao * @date: $date$ */
Edit variables 编辑变量
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())
若有警告信息 No Applicable contexts,点击 Define 选中 Java 即可。
此处 Expend With 配置为 Enter 回车键,注释生成快捷方式,看个人习惯,也可以时 Tab 键。
点击 Apply OK 应用配置即可。效果如下
/** * @param: masterId * @param: shopId * @param: skuId * @description: TODO * @return: net.jdcloud.APIECRM.model.ValidateSkuUsingGETResponse * @author: niaonao * @date: 2020/1/13 */ public static ValidateSkuUsingGETResponse validateSkuUsing(String masterId, String shopId, String skuId) { return null; }
方法注释模板不可用在,方法外,若用在方法外 @param 获取不到,注释为 @param null;
类注释模板在文件创建时生成,已创建文件不会触发该模板,会触发方法注释模板。