Java-模板注释

2023-11-14

前言

好的代码规范是一个程序员的基本修炼,好的代码注释更能体现一个程序员的思维逻辑,虽然代码是用来给机器运行的,
我们只要能写出能让编译器运行的代码就行了,但是如果没有好的编码规范,到项目后期,加入开发的人员逐渐增多时,
每个人的编码风格都不一样,这就会让项目维护者很难维护,所以开始就要制定一些好的规范来让大家遵守,这样才能写
出可维护,健壮的项目。

约定

1、类模板注释

类注释(Class)主要用来声明该类用来做什么,以及创建者、创建日期版本、包名等一些信息

示例:

/**
 * <p>
 * 测试而言
 * <p>
 *
 * @className: Test
 * @author: xxx.xx
 * @create: 2020-11-13 16:57
 */

配置路径:

File->Setting->Editor->File and Code Templates->Class
File->Setting->Editor->File and Code Templates->Interface
File->Setting->Editor->File and Code Templates->Enum
File->Setting->Editor->File and Code Templates->AnnotationType

配置内容:
在这里插入图片描述

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
* <p>
* ${description}
* <p>
*
*@className: ${NAME}
*@author: xxx.xx
*@create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}
*/
public XXX ${NAME} {
}

ps:复制模板的时候注意XXX类型

2、方法注释

方法注释(Methods)主要用来声明该类的作用、入参、返回值、异常等信息:

示例:

/**
 * 分页接口查询
 *        
 * @param page
 * @return {@link IPage<PageVO>}
 * @author jamel.li
 * @create 2020/11/13 17:18
 */
public IPage<PageVO> page(IPage<PageDTO> page) {
}

配置方式:

1.进入配置路径 File->Setting->Editor->LiveTemplates

2.点击右侧 “+” -> Template Group…-> 输入组名称 如“jamel” 点击ok

3.选中创建的 “jamel” 点击右侧 “+” -> Live Template

4.配置模板内容及快捷键截
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zGJvVqje-1605262072045)(E0AE74BBFDBA4CAB911EE86796EA0141)]

模板内容

**
 * $end$
 *        
$param$
 * @return $return$
 * @author jamel.li
 * @create $date$ $time$
 */

变量填充(点击 Edit variables)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RkEW7Rm1-1605262072047)(D0D7178A9737400BA9293B6EE327D1A7)]

end | 
param | 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) ? '\\r\\n' : '')}; return result", methodParameters()) 
return | groovyScript("def result=\"${_1}\"; if(result == \"void\"){return \"\";}else{return \"{@link \"+result+\"}\";}", methodReturnType())
date | date()
time | time()

5.点击 Apply,在方法上使用时输入 “/**” 然后点击 tab键。注释就出来了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java-模板注释 的相关文章

  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • 添加动态数量的监听器(Spring JMS)

    我需要添加多个侦听器 如中所述application properties文件 就像下面这样 InTopics Sample QUT4 Sample T05 Sample T01 Sample JT7 注意 这个数字可以多一些 也可以少一些
  • 如何使用 SimpleDateFormat 解析多种格式的日期

    我正在尝试解析文档中的一些日期 用户似乎以类似但不完全相同的格式输入了这些日期 以下是格式 9 09 9 2009 09 2009 9 1 2009 9 1 2009 尝试解析所有这些内容的最佳方法是什么 这些似乎是最常见的 但我想让我困扰
  • 内存一致性 - Java 中的happens-before关系[重复]

    这个问题在这里已经有答案了 在阅读有关内存一致性错误的 Java 文档时 我发现与创建 发生 之前 关系的两个操作相关的点 当语句调用时Thread start 每个具有 与该语句发生之前的关系也有一个 与 new 执行的每个语句之间发生的
  • Java 服务器-客户端 readLine() 方法

    我有一个客户端类和一个服务器类 如果客户端向服务器发送消息 服务器会将响应发送回客户端 然后客户端将打印它收到的所有消息 例如 如果客户端向服务器发送 A 则服务器将向客户端发送响应 1111 所以我在客户端类中使用 readLine 从服
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • Java 8 中函数式接口的使用

    这是来自的后续问题Java 8 中的 双冒号 运算符 https stackoverflow com questions 20001427 double colon operator in java 8其中 Java 允许您使用以下方式引用
  • 列表应该如何转换为具体的实现?

    假设我正在使用一个我不知道源代码的库 它有一个返回列表的方法 如下所示 public List
  • 计算日期之间的天数差异

    在我的代码中 日期之间的差异是错误的 因为它应该是 38 天而不是 8 天 我该如何修复 package random04diferencadata import java text ParseException import java t
  • Java - 返回值是否会中断循环?

    我正在编写一些基本上遵循以下格式的代码 public static boolean isIncluded E element Node
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • Dispatcher-servlet 无法映射到 websocket 请求

    我正在开发一个以Spring为主要框架的Java web应用程序 特别使用Spring core Spring mvc Spring security Spring data Spring websocket 像这样在 Spring 上下文
  • 如何在 Eclipse Java 动态 Web 项目中使用 .properties 文件?

    我正在 Eclipse 中开发动态 Web 项目 我创建了一个 properties 文件来存储数据库详细信息 用户名 密码等 我通过右键单击项目和 New gt File 添加它 我使用了Java util包Properties类 但它不
  • 解析输入,除了 System.in.read() 之外不使用任何东西

    我很难找到具体的细节System in read 有效 也许有人可以帮助我 似乎扫描仪会更好 但我不允许使用它 我被分配了一个任务 我应该以 Boolean Operator Boolean 的形式读取控制台用户输入 例如T F 或 T T
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • Java:拆箱整数时出现空指针异常?

    此代码导致空指针异常 我不知道为什么 private void setSiblings PhylogenyTree node Color color throws InvalidCellNumberException PhylogenyTr
  • Java的-XX:+UseMembar参数是什么

    我在各种地方 论坛等 看到这个参数 并且常见的答案是它有助于高并发服务器 尽管如此 我还是找不到 sun 的官方文档来解释它的作用 另外 它是Java 6中添加的还是Java 5中存在的 顺便说一句 许多热点虚拟机参数的好地方是这一页 ht
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创

随机推荐

  • ESP8266恒温控制器

    本文 我们将使用ESP8266构建家用恒温器 温控器将具有以下功能 它将从DHT22温度传感器读取温度 它将温度与所需温度进行比较 如果高于它 它将触发继电器关闭 如果低于它 它将触发继电器打开 在此之前 首先了解下ESP8266如何保持温
  • mediapipe教程1:python代码

    一 背景 因为领导想用这个东西 因此开始研究 首先对于mediapipe的介绍不多说 百度一大堆 主要是 1 跨平台 2 对于移动设备友好 实时性足够 二 环境 因为对这东西不了解 这里先用python代码简单的看看效果 代码的参考网址 1
  • 零基础入门语义分割-地表建筑物识别-Task03:网络模型结构发展(3天)

    比赛地址 https tianchi aliyun com competition entrance 531872 introduction 本章主要讲解的是语义分割网络模型的发展 FCN SegNet Unet DeepLab Refin
  • QT-纯代码控件-QGridLayout(网格布局)

    实现一个简单的网格布局分布 1 新建一个无ui界面的工程 其基类为dialog 2 代码实现 dialog h和main cpp不做改变 dialog cpp include dialog h include
  • Excel重复查询

    工作中 经常对数据要求不重不漏 熟练用好基础工具很重要 比如 Excel筛选某一列的重复值方法 1 开始 gt 条件格式 gt 突出显示单元格规则 gt 重复值 2 写代码排查 重复的值会显示不一样的颜色 可肉眼观察到
  • SpringBoot与Spring的区别

    目录 Spring Boot 特性一 更快速的构建能力 Spring Boot 特性二 起步依赖 Spring Boot 特性三 内嵌容器支持 Spring Boot 特性四 Actuator 监控 Spring Boot 本质上是 Spr
  • Org.Hibernate.AnnotationException: No Identifier Specified For Entity I don't have a id in my table

    程序运行报错 Org Hibernate AnnotationException No Identifier Specified For Entity I don t have a id in my table Entity中 Id导包导错
  • linux 设置时区

    参考 https www cnblogs com librawhj p 8989755 html
  • 高频JMeter软件测试面试题

    近期 有很多粉丝在催更关于Jmeter的面试题 索性抽空整理了一波 以下是一些高频JMeter面试题 拿走不谢 一 JMeter的工作原理 JMeter就像一群将请求发送到目标服务器的用户一样 它收集来自目标服务器的响应以及其他统计数据 这
  • 《机器学习》(西瓜书)周志华学习思维导图——第六、七章

    本文主要介绍了机器学习中的常用算法支持向量机 SVM 和贝叶斯分类器 第六章 支持向量机 支持向量机是一种常用的分类模型 分类学习的基本思想就是基于训练集在样本空间找到一个划分超平面 将不同类别的样本分开 学习的目标是为了找到具有最大间隔的
  • 解决vue 微信JSSDK注入权限时出现“invalid signature”(ios)

    请求后台将当前页面的url传给后台 后台返回配置信息后使用wx config注入权限 安卓无任何问题 但是iOS一直无法无法正常运行 url里也没带有 号 打开debug查看提示的invalid signature 并且报错的url不是我当
  • SetThreadName & GetThreadName

    ypedef struct tagTHREADNAME INFO DWORD dwType must be 0x1000 LPCSTR szName pointer to name in user addr space DWORD dwTh
  • 2023 年博客之星的入围规则

    最近的活动 博客之星6月城市领跑比赛 CSDN 博客之星 是一年一度的博主评选 是平台对博主一年贡献的答谢 往年的博客之星均在年末进行 2023年我们进一步优化了博客之星的评选规则 让更多优质的博主更有机会上榜 也无需担心错过报名时间 以下
  • java获取汇率 美元-人民币

    import java io BufferedReader import java io DataOutputStream import java io IOException import java io InputStream impo
  • 第十三届“华中杯”大学生数学建模挑战赛题目 A 题 马赛克瓷砖选色问题

    第十三届 华中杯 大学生数学建模挑战赛题目 A 题 马赛克瓷砖选色问题 要求1 2 3用python完成 文章目录 第十三届 华中杯 大学生数学建模挑战赛题目 A 题 马赛克瓷砖选色问题 要求1 2 3用python完成 前言 一 算法构思
  • LibEvent中文帮助文档

    http blog csdn net zhouyongku article details 53431597 libevent源码分析 http blog csdn net yusiguyuan article details 182675
  • Rinetd 端口转发

    文章目录 端口转发工具 Rinetd 安装 利用 Rinetd 实现Service 负载均衡 端口转发工具 Rinetd Rinetd 重定向传输协议控制工具 可将源ip端口 数据转发至目标 ip端口 在 k8s 中用于将service服务
  • jwt实现token鉴权(nodejs koa)

    为什么需要token 在后台管理系统中 我们通常使用cookie session的方式用于鉴权 如何通过cookie session鉴权 nodejs koa 但这种方式存在着以下问题 比如cookie的容量太小 浏览器端和app端发送ht
  • 动态代理的两种方式以及区别

    JDK动态代理 利用反射机制生成一个实现代理接口的匿名类 在调用具体方法前调用InvokeHandler来处理 CGlib动态代理 利用ASM 开源的Java字节码编辑库 操作字节码 开源包 将代理对象类的class文件加载进来 通过修改其
  • Java-模板注释

    前言 好的代码规范是一个程序员的基本修炼 好的代码注释更能体现一个程序员的思维逻辑 虽然代码是用来给机器运行的 我们只要能写出能让编译器运行的代码就行了 但是如果没有好的编码规范 到项目后期 加入开发的人员逐渐增多时 每个人的编码风格都不一