04.阿里Java开发手册——注释规约

  1. 【强制】类、类属性、类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用// xxx 方式。
    说明:在 IDE 编辑窗口中,Javadoc 方式会提示相关注释,生成 Javadoc 可以正确输出相应注释;在 IDE中,工程调用方法时,不进入方法即可悬浮提示方法、参数、返回值的意义,提高阅读效率。
  2. 【强制】所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释、除了返回值、参数、异常说明外,还必须指出该方法做什么事情,实现什么功能。
    说明:对子类的实现要求,或者调用注意事项,请一并说明。
  3. 【强制】所有的类都必须添加创建者和创建日期。
    说明:在设置模板时,注意 IDEA 的@author 为${USER},而 eclipse 的@author 为${user},大小写有区别,而日期的设置统一为 yyyy/MM/dd 的格式。${USER}前后有反引号。
    正例:
    /**
    * @author yangguanbao
    * @date 2016/10/31
    */
    
  4. 【强制】方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/* */注释,注意与代码对齐。
  5. 【强制】所有的枚举类型字段必须要有注释,说明每个数据项的用途。
  6. 【推荐】与其“半吊子”英文来注释,不如用中文注释把问题说清楚。专有名词与关键字保持英文原文即可。
    反例:“TCP 连接超时”解释成“传输控制协议连接超时”,理解反而费脑筋。
  7. 【推荐】代码修改的同时,注释也要进行相应的修改,尤其是参数、返回值、异常、核心逻辑等的修改。
    说明:代码与注释更新不同步,就像路网与导航软件更新不同步一样,如果导航软件严重滞后,就失去了导航的意义。
  8. 【推荐】在类中删除未使用的任何字段、方法、内部类;在方法中删除未使用的任何参数声明
    与内部变量。
  9. 【参考】谨慎注释掉代码。在上方详细说明,而不是简单地注释掉。如果无用,则删除。
    说明:代码被注释掉有两种可能性:1)后续会恢复此段代码逻辑。2)永久不用。前者如果没有备注信息,难以知晓注释动机。后者建议直接删掉即可,假如需要查阅历史代码,登录代码仓库即可。
  10. 【参考】对于注释的要求:第一、能够准确反映设计思想和代码逻辑;第二、能够描述业务含
    义,使别的程序员能够迅速了解到代码背后的信息。完全没有注释的大段代码对于阅读者形同
    天书,注释是给自己看的,即使隔很长时间,也能清晰理解当时的思路;注释也是给继任者看
    的,使其能够快速接替自己的工作。
  11. 【参考】好的命名、代码结构是自解释的,注释力求精简准确、表达到位。避免出现注释的一
    个极端:过多过滥的注释,代码的逻辑一旦修改,修改注释又是相当大的负担。
    反例:
    // put elephant into fridge 
    put(elephant, fridge);
    
    方法名 put,加上两个有意义的变量名 elephant 和 fridge,已经说明了这是在干什么,语义清晰的代码不需要额外的注释。
  12. 【参考】特殊注释标记,请注明标记人与标记时间。注意及时处理这些标记,通过标记扫描,
    经常清理此类标记。线上故障有时候就是来源于这些标记处的代码。
    • 待办事宜(TODO):(标记人,标记时间,[预计处理时间])
      表示需要实现,但目前还未实现的功能。这实际上是一个 Javadoc 的标签,目前的 Javadoc 还没有实现,但已经被广泛使用。只能应用于类,接口和方法(因为它是一个 Javadoc 标签)。
    • 错误,不能工作(FIXME):(标记人,标记时间,[预计处理时间])
      在注释中用 FIXME 标记某代码是错误的,而且不能工作,需要及时纠正的情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/626671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 设计模式之享元模式

【声明】本题目来源于卡码网(题目页面 (kamacoder.com)) 【提示:如果不想看文字介绍,可以直接跳转到C编码部分】 【简介】什么是享元模式 -- 可重复使用 享元模式是⼀种结构型设计模式,在享元模式中,对象被…

我记不住的那些位操作bitwise(一)

背景: 最近在看底层的一些知识内容,其中有一些位操作,所以想复习并记录一下。 一、或 或: 0 | 1 1 及 1 | 1 1 但是无法区分这两种情况(1. 一个是false,另一个是true; 2. 这两个都是true) 在C语…

前端知识汇编(持续更新中)

前端知识汇编 1. 浅析cookie sessionStorage localStorage 1. 浅析cookie sessionStorage localStorage cookie、Web Storage 同: 保存在浏览器端都有同源限制(cookie:与特定域绑定,不被其他域访问;sessionStorage&a…

自定义shell工具函数之has_config()

这段代码是一个Shell脚本中的函数,名为pull_images。让我来解释一下这段代码的功能: function pull_images() {images_to$(get_images)pids()trap kill ${pids[*]} SIGINT SIGTERMfor image in ${images_to}; dopull_image "$image" &pid…

PDF控件Spire.PDF for .NET【安全】演示:更改 PDF 文档的安全权限

当您使用密码保护 PDF 文档时,您可以选择指定一组权限。权限决定用户如何与文件交互。例如,您可以对文档应用权限以禁止用户打印或使用剪切和粘贴操作。本文演示如何在C# 和 VB.NET中使用Spire.PDF for .NET更改 PDF 文档的安全权限。 Spire.PDF for .N…

HTML5 article标签,<time>...</time>标签和pubdate属性的运用

1、<article>...</article>标签的运用 article标签代表文档、页面或应用程序中独立的、完整的、可以独自被外部引用的内容。它可以是一篇博客或报竟杂志中的文章、一篇论坛帖子、一段用户评论或一个独立的插件&#xff0c;或者其他任何独立的内容。把文章正文放在h…

新喜报,新希望!英码科技荣登“2023年广州拟上市领头羊TOP50企业榜单”

近日&#xff0c;广州市资本市场融资对接服务平台启动仪式暨2023年拟上市企业“领头羊”评选总结活动成功举办。活动现场发布了2023年广州“拟上市领头羊TOP 50 企业榜单”、“最受资本关注TOP10榜单”、“最强科创TOP10榜单”、“最具成长TOP10榜单”并为企业颁发牌匾&#xf…

PHP手机号码归属地批量查询系统 V2024

PHP手机号码归属地批量查询系统 V2024 全部完整代码压缩后只有445KB(代码50.1万行数据); 安全建议:数据库名称DB改为自己指导的名称(本页参数两个文件文件名) 或者伪静态规则&#xff0c;限制.json格式和.db格式文件下载 性能:30条批量查询相应时间0.014秒左右; 数据压缩&#…

HCIA 网络基础:

应用层 抽象语言-->编码 表示层 编码-->二进制 会话层 建立会话&#xff0c;提供绘画地址。 应用于程序内部进行区分&#xff0c;没有统一标准 上三层主要是软件层面&#xff08;应用 程序处理数据&#xff09; 下四层主要负责数据传输 传输层 端口号 分段 &#xff…

【温故而知新】HTML5新标签canvas、MathML

文章目录 一、概念二、新标签三、canvas四、SVG五、MathML 一、概念 HTML5是HTML的最新版本&#xff0c;它引入了许多新的元素和功能&#xff0c;以适应现代网页开发的需求。以下是HTML5的一些主要特点&#xff1a; 新增语义元素&#xff1a;HTML5引入了许多新的语义元素&…

mysql 5.7 函数汇总

mysql 5.7 函数汇总&#xff0c;以下内容由chatgpt中文网 动态生成,助力开发找我 MySQL 5.7 提供了许多内置函数&#xff0c;用于各种数据库操作和数据处理。以下是一些常用的 MySQL 5.7 函数的汇总&#xff1a;字符串函数&#xff1a;CONCAT(): 连接两个或多个字符串。 GROUP…

Ubuntu开机自动挂载硬盘

前言&#xff1a; 因为我的电脑是WIN10 Ubuntu18.04双系统&#xff0c;且两个系统都装在C盘上&#xff0c;而D盘作为数据和代码存储盘&#xff0c;经常会开机就被访问&#xff0c;例如上一次关机前用VS Code访问D盘代码&#xff0c;然后下一次开机的时候打开VSCode发现打不开…

ChatGPT 和文心一言哪个更好用?

文心一言的答案&#xff1a; 在人工智能技术的不断发展下&#xff0c;聊天机器人已经成为我们日常生活和工作中不可或缺的一部分。其中&#xff0c;ChatGPT和文心一言是两款备受关注的聊天机器人&#xff0c;它们各自具有独特的优点和适用场景。本文将就这两个聊天机器人进行简…

在window宿主机访问WSL2内部署的服务

目录 在window宿主机访问 WSL2 内部署的服务&#xff08;其他&#xff09;在 WSL2 内查看 windows&#xff08;宿主机&#xff09;的IP地址 windows内置了Linux系统&#xff08;WSL&#xff09;。 在window宿主机访问 WSL2 内部署的服务 在WSL下部署的项目&#xff0c;比如端口…

C#基础-资源清理-终结器与IDisposable

内容借鉴-C#8.0本质论 终结器 终结器 (finalizer) 允许程序员写代码来清理类的资源。与使用new操作符显式调用构造函数不同&#xff0c;终结器不能从代码中显式调用。没有和new对应的操作符 (比如像delete这样的操作符)。相反&#xff0c;是垃圾回收器负责为对象实例调用终结…

使用git工具把项目文件上传到github 的操作

先打开git-bash进入操作界面 cd D: 进入d盘 mkdir myrepo 创建文件 cd myrepo 进入本地仓库文件 git init 初始仓库 &#xff08;rm -rf .git 取消 git init 命令。&#xff09; git add . git status &#xff08;显示你修改的文件具体是哪些&#xff0…

智能分析网关V4基于AI视频智能分析技术的周界安全防范方案

一、背景分析 随着科技的不断进步&#xff0c;AI视频智能检测技术已经成为周界安全防范的一种重要手段。A智能分析网关V4基于深度学习和计算机视觉技术&#xff0c;可以通过多种AI周界防范算法&#xff0c;实时、精准地监测人员入侵行为&#xff0c;及时发现异常情况并发出警报…

text expressing

文章目录 前言文本表示1文本特征概念介绍2 文本特征选择方法3 文本表示方法 text expressing3.1 One Hot(独热)编码3.2 TF-IDF 模型3.3 Word2Vec 参考链接&#xff1a; 前言 文本是一种非结构化的数据信息&#xff0c;是不可以直接被计算的。 文本表示的作用就是将这些非结构…

解密SHFileOperation

解密SHFileOperation 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在今天的文章中&#xff0c;我们将揭开Windows文件操作的神秘面纱&#xff0c;介绍一款强大而神…

powershell的help

打开win10 的powershell窗口&#xff0c;输入help命令&#xff0c;可以得到如下说明&#xff1a; 有了help系统&#xff0c;可以方便地了解关于powershell的详细说明。