【代码规范】常见注释规范

2023-10-31

1.在有处理逻辑的代码中,源程序有效注释量必须在20%以上。

说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。

2.文件注释:文件注释写入文件头部。

说明:以/* 开始

示例:

/ *

* 文件名:[文件名]

* 作者:〈版权〉

* 描述:〈描述〉

* 修改人:〈修改人〉

* 修改时间:YYYY-MM-DD

 * 修改内容:〈修改内容〉
  */

说明:每次修改后在文件头部写明修改信息。

示例:

/ *

* 文件名:LogManager.java

* 版权:Copyright 2000-2001 Huawei Tech. Co. Ltd.  All Rights Reserved.

* 描述: WIN V200R002 WEBSMAP 通用日志系统

* 修改人:张三

* 修改时间:2001-02-16

* 修改内容:新增

* 修改人:李四

* 修改时间:2001-02-26

* 修改内容:。。。。。。

* 修改人:王五

* 修改时间:2001-03-25

* 修改内容:。。。。。。

 */

3.类和接口的注释:该注释放在class定义之前,using或package关键字之后。

示例:

package com. websmap.comm;

/**

 * 注释内容

 */
 public class CommManager

4.类和接口的注释内容:类的注释主要是一句话功能简述、功能详细描述

说明:可根据需要列出:版本号、生成日期、作者、内容、功能、与其它类的关系等。

格式:

/ *

 * 〈一句话功能简述〉

* 〈功能详细描述〉

* @author [作者]

* @version [版本号, YYYY-MM-DD]

* @see [相关类/方法]

* @since [产品/模块版本]

* @deprecated

*/

说明:描述部分说明该类或者接口的功能、作用、使用方法和注意事项,每次修改后增加作者和更新版本号和日期,@since 表示从那个版本开始就有这个类或者接口,@deprecated 表示不建议使用该类或者接口。

示例:

/ *

* LogManager 类集中控制对日志读写的操作。

*全部为静态变量和静态方法,对外提供统一接口。分配对应日志类型的读写器,读取或写入符合条件的日志纪录。

* @author 张三,李四,王五

* @version 1.2, 2001-03-25

* @see LogIteraotor

* @see BasicLog

* @since CommonLog1.0

*/


5.类属性、公有和保护方法注释:写在类属性、公有和保护方法上面。用//来注释,需要对齐被注释代码。

示例:

/ /注释内容

private  String logType

6.成员变量注释内容:成员变量的意义、目的、功能,可能被用到的地方。用//来注释,需要对齐被注释代码

7.公有和保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、违例等。
格式:

/ **

*〈一句话功能简述〉

*〈功能详细描述〉

* @param [参数1] [参数1说明]

* @param [参数2] [参数2说明]

* @return [返回类型说明]

* @exception/throws [违例类型] [违例说明]

* @see [类、类#方法、类#成员]

 * @deprecated

*/

说明:@since 表示从那个版本开始就有这个方法;@exception或throws 列出可能出现的异常;@deprecated 表示不建议使用该方法。

8.对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,对于所调用的其他方法所抛出的异常,选择主要的在注释中说明。对于非RuntimeException ,即throws子句声明会抛出的异常,必须在方法的注释中标明。

说明:

异常注释用@exception或@throws表示,在JavaDoc中两者等价,但推荐用@exception标注Runtime 异常,@throws标注非Runtime 异常。异常的注释必须说明该异常的含义及什么条件下抛出该异常。

9.注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。

10.注释的排版,按照上述示例来展示。

11.注释应该放在被注释的代码前面,分行展示,但中间不留空行。

12.对变量的定义和分支语句(条件分支、循环语句等)必须编写注释。

说明:分支语句往往是程序实现某一特定功能的关键。

13.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。

14.注释的内容要清楚、明了,含义准确,防止注释二义性。说明:错误的注释不但无益反而有害。

15.避免在注释中使用缩写,特别是不常用缩写。说明:在使用缩写时或之前,应对缩写进行必要的说明。

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

【代码规范】常见注释规范 的相关文章

随机推荐

  • Windows2003系统漏洞提权复现

    操作系统 Microsoft Windows Server 2003 Web服务器 IIS V6 0 第一步 将大马文件上传至服务器根目录 第二步 访问大马文件 进入大马的控制界面 第三步 查看漏洞补丁信息 第四步 上传漏洞工具 将提权工具
  • 在Vue2项目中使用Vant组件库

    Vant 2 Mobile UI Components built on Vuehttps vant contrib gitee io vant v2 zh CN home1 安装vant包 Vue2项目下必须这么写 不能直接写npm i
  • MySQL 排序

    排序数据 1 排序规则 使用ORDER BY 字句排序 在其后面加所需字段 ASC ascend 升序 DESC descend 降序 ORDER BY 字句在SELECT语句的结尾 注意 数据库中默认按照先后添加顺序存储数据 在查询时 也
  • python中的sort的用法

    一 sort的两种用法 1 a sort 对原列表进行原址排序 原址排序的意思是原列表被改变了 排序的规则 数字 字符串按照ASCII 中文按照unicode从小到大排序 a 2 3 6 7 1 a sort print a 1 2 3 6
  • chrony系统授时时,几条重要命令输出信息的含义

    原文 https docs fedoraproject org en US Fedora 18 html System Administrators Guide sect Checking if chrony is synchronized
  • 确定你的public继承塑模出is-a关系——条款32

    如果你令class D Derived 以public形式继承class B Base 你便是告诉C 编译器 以及你的代码读者 说 每一个类型为D的对象同时也是一个类型为B的对象 反之不成立 你的意识是B比D表现出更一般化的概念 而D比B表
  • 开关电源-电容

    电子元器件 电容 1 电容是电路中重要的元件 种类多 用途广 主要有插件类和贴片类两种 2 电容主要特性参数 标称容量 耐压 误差 温度 2 1电容容量常用单位有微法 uF 纳法 nF 皮法 pF 单位换算 luF 103nF 106pF
  • 【数模】编码的传输问题 Huffman算法编程实现(matlab)

    编码的传输问题 利用Huffman算法编程实现以下问题 已知字母A B C D E F出现的概率 字母 概率 A 35 B 10 C 20 D 10 E 20 F 5 哈夫曼编码基础知识复习 哈夫曼编码 Huffman Coding 又称霍
  • Tensorflow框架(张量、计算图、会话)

    张量 计算图 会话 人工智能实践 Tensorflow笔记 Tensorflow框架 张量 计算图 会话 基于Tensorflow的NN 神经网络 用张量表示数据 用计算图搭建神经网络 用会话执行计算图 优化线上的权重 参数 得到模型 张量
  • 抓包工具fiddler不抓取火狐浏览器的数据

    fiddler可以抓到google浏览器的包 但是抓不到Firefox浏览器的包 火狐浏览器版本79 0 64 位 fiddler 4 亲测好使 操作步骤 打开Fiddler gt 菜单栏 Tools gt Options gt Conne
  • sdf转smi

    from rdkit import Chem smi Chem MolToSmiles Chem SDMolSupplier sdf path 0
  • 全局组件和局部组件

    1 全局组件和局部组件的区别 全局组件 只需要在main js中导入一次 整个项目都可以直接使用 在main js中导入 局部组件 用一次 导一次 在用到的地方导入 2 局部组件导入步骤 3部曲 1 导入子组件 import Registe
  • 基于Flask框架的python微博数据分析

    Python 微博数据 博文 分析 项目简介 后端采用Flask框架搭建 通过移动端接口获取数据 数据清洗后采用jieba进行词法分析 通过WordCloud制作词云展示 数据的可视化在以后的版本中会细化 版本V0 0 1功能 能够获取用户
  • 1. redis核心数据结构实战与高性能原理剖析

    分布式缓存技术Redis 1 Redis的五种数据结构 1 1 String 1 2 hash 1 3 列表list 1 4 set 1 5 ZSet 2 Redis的单线程和高性能 3 其他高级命令 3 1 scan 渐进式遍历键 本文是
  • 从零开始学习微服务 -微服务基本概述、微服务案例

    1 SpringCloud概述 1 1 互联网应用架构 1 1 1 单体应用架构 在诞 之初 项目的 户量 数据量规模都 较 项目所有的功能模块都放在一个工程中编码 编译 打包并且部署在一个Tomcat容器中的架构模式就是单体应用架构 这样
  • SQL注入基础原理与案例(详细总结)

    SQL注入基础原理与案例 一 前言 二 漏洞概述及危害 1 漏洞概述 2 漏洞危害 3 漏洞防范 三 SQL注入 1 SQL注入方式 1 信息收集 2 数据注入 3 高权限注入 2 判断是否存在注入点 1 新办法 2 老办法 3 字段判断
  • vue使用高德地图--附带移动获取当前城市信息

    高德地图 1 使用准备 申请密钥 vue使用 2 移动地图获取城市案例 注意事项 3 总结 1 使用准备 申请密钥 登录注册高德开放平台进入控制台 创建应用 申请key 生成key和安全密钥 2021之后key需要配合安全密钥使用 注意 安
  • 流媒体直播播放协议:HLS、RTMP、HTTP-FLV

    流媒体直播播放协议 HLS RTMP HTTP FLV 一 推拉流 二 协议介绍 1 HLS 2 RTMP 3 HDL HTTP FLV 一 推拉流 在开始之前 先把流媒体服务中的双端关系说一下 在一个完整的流媒体服务框架中 角色就是 两端
  • 【直接收藏】前端JavaScript面试100问 (上篇)

    1 解释一下什么是闭包 闭包 就是能够读取外层函数内部变量的函数 闭包需要满足三个条件 访问所在作用域 函数嵌套 在所在作用域外被调用 优点 可以重复使用变量 并且不会造成变量污染 缺点 会引起内存泄漏 使用闭包的注意点 由于闭包会使得函数
  • 【代码规范】常见注释规范

    1 在有处理逻辑的代码中 源程序有效注释量必须在20 以上 说明 注释的原则是有助于对程序的阅读理解 在该加的地方都加了 注释不宜太多也不能太少 注释语言必须准确 易懂 简洁 2 文件注释 文件注释写入文件头部 说明 以 开始 示例 文件名