JAVA注释技巧

1、空行和空白字符也是一种特殊注释。利用缩进和空行,使代码与注释容易区

别,并协调美观。

2、当代码比较长,特别是有多重嵌套时,为了使层次清晰,应当在一些段落的

结束处加注释(在闭合的右花括号后注释该闭合所对应的起点),注释不能

写得很长,只要能表示是哪个控制语句控制范围的结束即可,这样便于阅读。

3、将注释与注释分隔符用一个空格分开,在没有颜色提示的情况下查看注释时,

这样做会使注释很明显且容易被找到。

4、不允许给块注释的周围加上外框。这样看起来可能很漂亮,但是难于维护。

5、每行注释(连同代码)不要超过120个字(1024×768),最好不要超过80

字(800×600) 。

6、Java编辑器(IDE)注释快捷方式。Ctrl+/ 注释当前行,再按则取消注释。

7、对于多行代码的注释,尽量不采用“/*......*/”,而采用多行“//”注释,

这样虽然麻烦,但是在做屏蔽调试时不用查找配对的“/*......*/”。

8、注释作为代码切换开关,用于临时测试屏蔽某些代码。

例一:

//*/

codeSegement1;

//*/

改动第一行就成了:

/*/

codeSegement1;

//*/

例二:

//----------------------第一段有效,第二段被注释

//*/

codeSegement1;

/*/

codeSegement2;

//*/

只需删除第一行的/就可以变成:

//----------------------第一段被注释,第二段有效

/*/

codeSegement1;

/*/

codeSegement2;

//*/

JAVA注释方法及格式

1、单行(single-line)--短注释://……

单独行注释:在代码中单起一行注释, 注释前最好有一行空行,并与其后的代码具有一样的缩进层级。如果单行无法完成,则应采用块注释。

注释格式:/* 注释内容 */

行头注释:在代码行的开头进行注释。主要为了使该行代码失去意义。

注释格式:// 注释内容

行尾注释:尾端(trailing)--极短的注释,在代码行的行尾进行注释。一般与代码行后空8(至少4)个格,所有注释必须对齐。

注释格式:代码 + 8(至少4)个空格 + // 注释内容

2、块(block)--块注释:/*……*/

注释若干行,通常用于提供文件、方法、数据结构等的意义与用途的说明,或者算法的描述。一般位于一个文件或者一个方法的前面,起到引导的作用,也可以根据需要放在合适的位置。这种域注释不会出现在HTML报告中。注释格式通常写成:

/*

* 注释内容

*/

3、文档注释:/**……*/

注释若干行,并写入javadoc文档。每个文档注释都会被置于注释定界符

/**......*/之中,注释文档将用来生成HTML格式的代码报告,所以注释文

档必须书写在类、域、构造函数、方法,以及字段(field)定义之前。注释文档由两部分组成——描述、块标记。注释文档的格式如下:

/**

* The doGet method of the servlet.

* This method is called when a form has its tag value method

* equals to get.

* @param request

*  the request send by the client to the server

* @param response

*  the response send by the server to the client

* @throws ServletException

*  if an error occurred

* @throws IOException

*  if an error occurred

*/

public void doGet (HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

前两行为描述,描述完毕后,由@符号起头为块标记注释。更多有关文档注

释和javadoc的详细资料,参见javadoc的主页: http://java.sun.com/javadoc/index.html

4、javadoc注释标签语法

@author    对类的说明 标明开发该类模块的作者

@version   对类的说明 标明该类模块的版本

@see      对类、属性、方法的说明 参考转向,也就是相关主题

@param    对方法的说明 对方法中某参数的说明

@return    对方法的说明 对方法返回值的说明

@exception  对方法的说明 对方法可能抛出的异常进行说明

JAVA注释具体实现

1、源文件注释

源文件注释采用 /** …… */,在每个源文件的头部要有必要的注释信息,包括:文件名;文件编号;版本号;作者;创建时间;文件描述包括本文件历史修改记录等。中文注释模版:

/**

* 文 件 名 :

* CopyRright (c) 2008-xxxx:

* 文件编号:

* 创 建 人:

* 日    期:

* 修 改 人:

* 日   期:

* 描   述:

* 版 本 号:

*/

2、类(模块)注释:

类(模块)注释采用 /** …… */,在每个类(模块)的头部要有必要的注释信息,包括:工程名;类(模块)编号;命名空间;类可以运行的JDK版本;版本号;作者;创建时间;类(模块)功能描述(如功能、主要算法、内部各部分之间的关系、该类与其类的关系等,必要时还要有一些如特别的软硬件要求等说明);主要函数或过程清单及本类(模块)历史修改记录等。

英文注释模版:

/**

* CopyRright (c)2008-xxxx:

* Project:

* Module ID:

* Comments:

* JDK version used:

* Namespace:

* Author:

* Create Date:

* Modified By:

* Modified Date:

* Why & What is modified

* Version:

*/

如果模块只进行部分少量代码的修改时,则每次修改须添加以下注释:

//Rewriter

//Rewrite Date: Start1:

/* 原代码内容*/

//End1:

将原代码内容注释掉,然后添加新代码使用以下注释:

//Added by

//Add date: Start2:

//End2:

如果模块输入输出参数或功能结构有较大修改,则每次修改必须添加以下

注释:

//Log ID:

//Depiction:

//Writer:修改者中文名

//Rewrite Date:

2、接口注释:

接口注释采用 /** …… */,在满足类注释的基础之上,接口注释应该包含描述接口的目的、它应如何被使用以及如何不被使用,块标记部分必须注明作者和版本。在接口注释清楚的前提下对应的实现类可以不加注释。

3、构造函数注释:

构造函数注释采用 /** …… */,描述部分注明构造函数的作用,不一定有块标记部分。

注释模版一:

/**

* 默认构造函数

*/

注释模版二:

/**

* Description :       带参数构造函数,

*                       初始化模式名,名称和数据源类型

* @param schema:   模式名

* @param name:   名称

* @param type: 数据源类型

*/

4、函数注释:

函数注释采用 /** ……*/,在每个函数或者过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。函数注释里面可以不出现版本号(@version)。

注释模版一:

/**

* 函 数 名 :

* 功能描述:

* 输入参数:

*

*            (不是类型),空格后跟着对该参数的描述。>

*

* 返 回 值:  - 类型

*

*            @return可以省略; 如果返回值就是输入参数,必须 *            用与输入参数的@param相同的描述信息; 必要的时*            候注明特殊条件写的返回值。>

* 异    常:

* 创 建 人:

* 日    期:

* 修 改 人:

* 日    期:

*/

注释模版二:

/**

* FunName:           getFirstSpell

* Description :      获取汉字拼音首字母的字符串,

*                   被生成百家姓函数调用

* @param:         str the String是包含汉字的字符串

* @return String:汉字返回拼音首字母字符串;

*                  英文字母返回对应的大写字母;

*                 其他非简体汉字返回 '0';

* @Author:       ghc

* @Create Date: 2008-07-02

*/

5、方法注释:

方法注释采用 /** …… */,对于设置 (Set 方法 ) 与获取 (Get 方法 ) 成员的方法,在成员变量已有说明的情况下,可以不加注释;普通成员方法要求说明完成什么功能,参数含义是什么且返回值什么;另外方法的创建时间必须注释清楚,为将来的维护和阅读提供宝贵线索。

6、方法内部注释:

控制结构,代码做了些什么以及为什么这样做,处理顺序等,特别是复杂的逻辑处理部分,要尽可能的给出详细的注释。

7、 全局变量注释:

要有较详细的注释,包括对其功能、取值范围、哪些函数或者过程存取以及存取时注意事项等的说明。

8、局部(中间)变量注释:

主要变量必须有注释,无特别意义的情况下可以不加注释。

9、实参/参数注释:

参数含义、及其它任何约束或前提条件。

10、字段/属性注释: 字段描述,属性说明。

11、常量:常量通常具有一定的实际意义,要定义相应说明。

java类注释 写作规范_Java标准注释及规范相关推荐

  1. java的注释规范_Java代码注释规范

    1,单行(单行)-简短说明: ///... 单行注释: 代码中的单行注释. 最好在注释前有一个空行,并在其后加上与代码相同的缩进级别. 如果无法完成一行,则应使用块注释. 评论格式: 在行首注释: 在 ...

  2. Eclipse新建java类的时候,自动创建注释

    为形成个人的java代码风格,我们在项目组中进行开发的时候,可以对自己的代码进行一些格式上面的设置,具体如下: 方法一:Eclipse中设置在创建新类时自动生成注释 windows–>prefe ...

  3. java类验证和装载顺序_Java类的加载机制和双亲委派模型

    Java类的加载机制和双亲委派模型 1类的加载机制 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载(Loading).验证(Verification).准备(Prepar ...

  4. java类的成员组成_Java类的组成:类的三个组成部分

    Java类的组成:类的三个组成部分 (2011-11-17 21:51:53) 标签: j2me 一.数据成员:数据成员是类的属性,声明该类的对象所具备的属性.声明数据成员往往需要声明以下几项:(1) ...

  5. Java类Demo中存在_Java中的数据类型转换

    先来看一个题: Java类Demo中存在方法func0.func1.func2.func3和func4,请问该方法中,哪些是不合法的定义?( ) public class Demo{ float fu ...

  6. java类的运行顺序_Java语言类的基本运行顺序

    本文主要向大家介绍了Java语言类的基本运行顺序,通过具体的代码向大家展示,希望对大家学习Java语言有所帮助.我们以下面的类来说明一个基本的 Java 类的运行顺序:1. public class  ...

  7. java内存规范_Java内存模型-jsr133规范介绍

    最近在看<深入理解Java虚拟机:JVM高级特性与最佳实践>讲到了线程相关的细节知识,里面讲述了关于java内存模型,也就是jsr 133定义的规范. 系统的看了jsr 133规范的前面几 ...

  8. java类与对象实验_JAVA类与对象实验报告

    <JAVA类与对象实验报告>由会员分享,可在线阅读,更多相关<JAVA类与对象实验报告(6页珍藏版)>请在人人文库网上搜索. 1.面向对象程序设计实验报告实验三.类与对象(1) ...

  9. java 类的执行顺序_Java中类的执行顺序

    讲解在代码中: package 类执行顺序; /** * java类执行顺序 * * 1.如果父类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块 * 2.如果类有静态成员赋值或者静态初 ...

最新文章

  1. ChineseCalendar类[转]
  2. HDU3089(约瑟夫环问题)
  3. 9 岁自学编程、24 岁身价涨至数百万美元,与微软一较高低的大佬多厉害?
  4. CSS命名规范参考及书写注意事项(下)
  5. Xcode终端快捷键
  6. linux下安装sz/rz命令
  7. 【Android 逆向】ELF 文件格式总结 ★★★
  8. IDEA 初始配置教程
  9. Oracle分析函数——函数列表
  10. linux查看端口属性,linux如何查看系统属性指令?
  11. linux发布微软消息队列,消息队列RabbitMQ入门与5种模式详解
  12. UVA11878 Homework Checker【文本】
  13. 易宝支付java待遇_Java学员张**入职易宝支付月薪12000元
  14. “囍”博物馆与Interesting 有点意思
  15. archlinux wifi 开机自动连接
  16. 决策树系列之一决策树的入门教程
  17. 独孤思维:赚钱的黄金法则
  18. Java压缩图片大小
  19. 网站被劫持怎么办?传奇网站打开跳到其他站的解决方法
  20. vue项目首屏加载慢解决方案

热门文章

  1. matlab时间坐标,[Matlab]以时间为横坐标作图
  2. JavaScript基本原理常识
  3. Python之建模规划篇--线性规划
  4. iframe例子 (
  5. 腾讯云服务器和cdn,腾讯云服务器开启CDN及CDN开启HTTPS详细配置教程
  6. Oracle Instance and Database
  7. Leetcode 45. 跳跃游戏 II
  8. 计算机的CPU的电路是多少KW,你的电脑多少瓦? 最全面的CPU功耗测试
  9. 遥感处理平台的发展(ENVI与GEE的比较)
  10. mysql连接出错 mysqladmin flush-hosts 解决方法(mysqladmin 刷新主机解除阻塞)