代码要是没有注释,对读者来说就是一堆乱七八糟的字母,为了提高代码的可读性和可维护性,必须对代码进行必要的注释,这里小编整理了一下java注释规范。

(一)技巧

1:注释当前行快捷方式:ctrl+/

2:/* */  选上要注释的代码 ctrl+Shift+/

(二)在哪些地方加注释?

1:每个源文件开头都应有一组注释,包含代码的作者,时间;

2:当编写的代码较长,并且包含了多层嵌套时,花括号会比较多,比较乱,为了方便阅读,应该在某些段落结束的地方加注释,注明该闭合花括号对应的起点;

3:每个方法都必须加注释,对方法等进行注释时,注释最好放在代码上方,对变量声明进行注释时,注释最好放在行尾,但多行的行尾注释应该对齐;

4:典型算法必须有注释,代码有bug或不清楚的地方必须加注释,修改过的代码要加修改标志的注释。

(三)注释遵循哪些原则?

1:利用缩进和空行将注释与代码分隔开,是代码与注释在没有颜色提示情况下也能很容易分辨出来;

2:将注释内容与注释分隔符用一个空格隔开,便于查找注释;

3:对多行注释是尽量不用使用/*  * /,而是用多行“//”,可以避免查找配对的/*  */

(四)注释方法分类

1:单行注释-----//

单独行注释:

当注释需要单独单用一行时,使用“//” 并在注释前留一个空行,缩进情况要与下面的代码一致。一行放不下时使用多行,此时使用/*  */进行注释。

行尾注释:

在代码行的行尾加注释,一般要空8个格,且所有注释必须对齐。

2:块注释---/*内容*/

对若干行进行注释,一般放在方法之前,起引导作用,对方法和数据结构等的功能,意义进行说明

/*

*注释内容

*/

3:文档注释

注释若干行,将会形成HTML格式的代码报告,注释文档必须写在类,成员变量,成员方法,构造方法之前,例如下面是一个servlet创建后生成的一个注释文档

/**
* The doGet method of the servlet. <br>
*
* 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();
}

4:类注释

在myEclipse中,可以通过快捷键Alt+Shift+J生成,注释的内容可以通过Eclipse -> Window -> Preferences -> Java -> Code Style -> Code Templates -> Comments ->      Types -> Edt 设置

格式如下:

/**
* @author ASWH
*
* @Time 2014-3-30-17:33:01 */

类的英文注释模板

/**
* CopyRright (c)2014-xxxx: <暗伤无痕 >
* Project: <项目工程名 >
* Module ID: <(模块)类编号,可以引用系统设计中的类编号>
* Comments: <对此类的描述,可以引用系统设计中的描述>
* JDK version used: <JDK1.7>
* Namespace: <命名空间>
* Author: <作者中文名或拼音缩写>
* Create Date: <创建日期,格式:YYYY-MM-DD>
* Modified By: <修改人中文名或拼音缩写>
* Modified Date: <修改日期,格式:YYYY-MM-DD>
* Why & What is modified <修改原因描述>
* Version: <版本号>
*/

中文模板

/**
* 文 件 名 :
* CopyRright (c) 2014-xxxx:
* 文件编号:
* 创 建 人:
* 日 期:
* 修 改 人:
* 日 期:
* 描 述:
* 版 本 号:
*/

7:构造函数注释

  /**

   * 构造方法 的描述

   * @param name

   *
*/

8:方法注释

/**

   * 生成随机数

   *@param numble

         随机数上限

*@return 

*@exception  (方法有异常的话加)

* @author ASWH

* @Time2014-3-30 17:35:29

   */

9:全局变量注释

   /** The count is the number of charactersin the String. */
private int count;

有必要是要说明变量功能,涉及到的方法等等。

10:普通变量或常量

//属性

附录:javadoc参数说明:

@see 生成文档中的“参见xx 的条目”的超链接,后边可以加上:“类名”、“完整类名”、“完整类名#方法”。可用于:类、方法、变量注释。


@param 参数的说明。可用于:方法注释。

@return 返回值的说明。可用于:方法注释。

@exception 可能抛出异常的说明。可用于:方法注释。

@version 版本信息。可用于:类注释。

@author 作者名。可用于:类注释。



@deprecated 对类或方法的说明 该类或方法不建议使用,引起不推荐使用的警告



@note  表示注解,暴露给源码阅读者的文档



@remark 表示评论,暴露给客户程序员的文档



@since 表示从那个版本起开始有了这个函数



@see  表示交叉参考

java编程规范之java注释规范的更多相关文章

  1. Java编程-第一个Java程序

    Java编程用到的IDE是Eclipse. 关于第一个Java程序实现的简单流程: (1)    下载eclipse (2)    File-New-Java Project 命名工程名字:Hello ...

  2. 开始JAVA编程的敲门砖——JAVA开发环境搭建

    从头开始的java编程--JAVA开发环境搭建 一.什么是java的开发环境? 顾名思义java的开发环境是提供并保证整个java程序开发运行的必要的环境,搭建java开发环境是开始java编程的敲门 ...

  3. python代码规范以及函数注释规范

    摘要 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见​PEP7.本文和​PEP 257 文档字符串标准改编自Guido最初的<Python Style Guide&g ...

  4. JAVA编程学习之JAVA集合

    一.JAVA集合类 为了保存数量不确定的数据,以及保存具有映射关系的数据(关联数组),java提供了集合类.所有集合类位于java.util包下. 集合类就像容是器,现实生活中容器的功能,无非就是添加 ...

  5. win7中java编程工具安装 java环境变量设置

    一.下载java 官方地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html ...

  6. 200-Java语言基础-Java编程入门-005 | Java方法定义及使用

    一.方法概述和格式说明 为什么要用方法: 提高代码的复用性 什么是方法: 完成特定功能的代码块 方法的格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {     方 ...

  7. 200-Java语言基础-Java编程入门-006 | Java数组定义及使用(引用数据类型)

    一.数组概述和定义格式说明 为什么要有数组(容器): 为了存储同种数据类型的多个值 数组概念: 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数据类型,也可以存储引 ...

  8. java编程中的Java.Lang.Math类

    1. Math.PI  :表示的是圆周率常量: 2.Math.E    :表示的是普通常量(e): 3.abs()方法: 表示取绝对值 eg1: int x = Math.abs(50L);     ...

  9. 200-Java语言基础-Java编程入门-004 | Java分支与循环

    一.流程控制语句 可以控制程序的执行流程 在程序开发的过程之中一共会存在有三种程序逻辑:顺序结构.条件分支(选择)结构.循环结构. 顺序结构的定义,即:所有的程序将按照定义的代码从上往下.顺序依次执行 ...

  10. Java编程兵书

    <Java编程兵书> 基本信息 作者: 桂颖 任昱衡 丛书名: 程序员藏经阁 出版社:电子工业出版社 ISBN:9787121207419 上架时间:2013-8-26 出版日期:2013 ...

随机推荐

  1. Android开源项目大全 - 工具类

    主要包括那些不错的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. 一.依赖注入DI 通过依赖注入减少Vie ...

  2. vijos P1352 最大获利(最小割)

    请不要随便指点别人该怎么做.每一个人的人生都应该自己掌握.你给不了别人一切.你也不懂别人的忧伤. 微笑不代表快乐.哭泣不一定悲伤 不努力怎么让关心你的人幸福.不努力怎么让看不起你的人绝望. 我用生命在 ...

  3. Centos 6安装完美搭建mysql、php、apache之旅

    安装apache [root@centos share]# yum -y install httpd Loaded plugins: fastestmirror, refresh-packagekit ...

  4. Domain Model(领域模型)

    Domain Model(领域模型) 上一篇:<DDD 领域驱动设计-如何 DDD?> 开源地址:https://github.com/yuezhongxin/CNBlogs.Apply. ...

  5. 为何要fork()两次来避免产生僵尸进程?

    为何要fork()两次来避免产生僵尸进程?   当我们只fork()一次后,存在父进程和子进程.这时有两种方法来避免产生僵尸进程: 父进程调用waitpid()等函数来接收子进程退出状态. 父进程先结 ...

  6. hdu2612(bfs)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 题意:求2个点到任意一个KFC的距离之和,使其最小. 分析:由两个点出发分别两次bfs,求得到每 ...

  7. Hibernate实体对象继承策略

    Hibernate继承策略总共同拥有三种,一种是共用一张表:一种是每一个类一张表,表里面储存子类的信息和父类的信息:另一种是通过表连接的方式.每一个类都有一张表,可是子类相应的表仅仅保存自己的信息,父 ...

  8. Hama学习总结

    Hama学习笔记 1.       Hama定义 Hama是基于HDFS上的BSP模型实现,其执行不须要MapReduce. 例证例如以下: 在单点调试的Hama系统上,仅仅执行NameNode.Da ...

  9. SE 2014年5月23日

    两站点 A 和 B,由于业务往来需要,所以工程师提出vpn技术,同时需要保证业务流在internet上的安全性,同时在这里站点均为固定ip地址. 通过分析以上信息,确定这里使用 IPSec VPN的主 ...

  10. WebKit爬虫

    https://github.com/emyller/webkitcrawler 一个开源的项目,可以快速入门. http://spiderformysql.com/ http://crawl.gro ...