`

java中三种注释及其实际应用的意义

阅读更多

       应用编码规范对于软件本身和软件开发人员而言尤为重要,其中注释就是非常重要的一部分了。你的注释不仅仅可以帮助你理解代码含义,还有利于测试人员测试代码,更加重要的是它在后期生成文档,制作Q&A更是可以节约不少时间和精力。

一、下面我们就讲讲,java中的注释的规范和意义。

一般概念

             1、注释应该增加代码的清晰度
            2
、保持注释的简洁
            3
、在写代码之前或同时写注释
            4
、注释出为什么做了一些事,而不仅仅是做了什么

注释哪些部分

    1Java 文件:必须写明版权信息以及该文件的创建时间和作者;
            2
、类:类的目的、即类所完成的功能,以及该类创建的时间和作者名称;多人一次编辑或修改同一个类时,应在作者名称处出现多人的名称;
            3
、接口: 在满足类注释的基础之上,接口注释应该包含设置接口的目的、它应如何被使用以及如何不被使用。在接口注释清楚的前提下对应的实现类可以不加注释;
            4
、方法注释: 对于设置 (Set 方法 ) 与获取 (Get 方法 ) 成员的方法,在成员变量已有说明的情况下, 可以不加注释;普通成员方法要求说明完成什么功能,参数含义是什么且返回值什么;另外方法的创建时间必须注释清楚,为将来的维护和阅读提供宝贵线索;
            5
、方法内部注释: 控制结构,代码做了些什么以及为什么这样做,处理顺序等,特别是复杂的逻辑处理部分,要尽可能的给出详细的注释;
            6
、参数: 参数含义、及其它任何约束或前提条件;
            7
、属性: 字段描述;
            8
、局部 ( 中间 ) 变量: 无特别意义的情况下不加注释;
        3
、注释格式
            
遵循工程规定的统一注释格式,一般情况下会以 codetemplates.xml 格式的文件导入 IDE(Eclipse)或者用Eclipse默认的;

四、代码格式规范

 

    遵循工程规定的统一代码格式,一般情况下直接使用 IDE(Eclipse) 自带的默认代码格式对代码进行格式化;
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:   <
展望软件Forsoft >                         
* Project:                     <
项目工程名 >                                         
* Module ID:   <(
模块)类编号,可以引用系统设计中的类编号>   
 * Comments:  <
对此类的描述,可以引用系统设计中的描述>        
* JDK version used:      <JDK1.6>                             
* Namespace:           <
命名空间>                             
* Author
        <作者中文名或拼音缩写>                
* Create Date
  <创建日期,格式:YYYY-MM-DD>
* Modified By
   <修改人中文名或拼音缩写>                                        
* Modified Date:  <
修改日期,格式:YYYY-MM-DD>                                   
* Why & What is modified  <
修改原因描述>   
* Version:                  <
版本号>                      
*/
如果模块只进行部分少量代码的修改时,则每次修改须添加以下注释:
//Rewriter
//Rewrite Date
<修改日期:格式YYYY-MM-DD> Start1
/*
原代码内容*/
//End1

将原代码内容注释掉,然后添加新代码使用以下注释:
//Added by
//Add date
<添加日期,格式:YYYY-MM-DD> Start2
//End2

如果模块输入输出参数或功能结构有较大修改,则每次修改必须添加以下
注释:
//Log ID
<Log编号,1开始一次增加>
//Depiction
<对此修改的描述>
//Writer
:修改者中文名
//Rewrite Date
<模块修改日期,格式:YYYY-MM-DD>
3
、接口注释:
接口注释采用 /** …… */,在满足类注释的基础之上,接口注释应该包含描述接口的目的、它应如何被使用以及如何不被使用,块标记部分必须注明作者和版本。在接口注释清楚的前提下对应的实现类可以不加注释。

4、构造函数注释:
构造函数注释采用 /** …… */,描述部分注明构造函数的作用,不一定有块标记部分。
注释模版一:
/**
*
默认构造函数
*/
注释模版二:
/**
* Description :      
带参数构造函数,
*                      
初始化模式名,名称和数据源类型
* @param schema
   模式名
* @param name
   名称
* @param type
数据源类型
*/
5
、函数注释:
函数注释采用 /** ……*/,在每个函数或者过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。函数注释里面可以不出现版本号(@version)。
注释模版一:
/**
  *
:
  *
功能描述:
*
输入参数:     <按照参数定义顺序>
*             <@param
后面空格后跟着参数的变量名字
*           
(不是类型),空格后跟着对该参数的描述。>
*
*
:  - 类型 <说明>
*            <
返回为空(void)的构造函数或者函数,
*            @return
可以省略; 如果返回值就是输入参数,必须

*            用与输入参数的@param相同的描述信息; 必要的时

*            候注明特殊条件写的返回值。>
*
    常:<按照异常名字的字母顺序>
*
:
*
    :
*
:
*
    :
*/
注释模版二:
/**
* FunName:           getFirstSpell
* Description :     
获取汉字拼音首字母的字符串,
*                  
被生成百家姓函数调用
* @param
         str the String是包含汉字的字符串
* @return String
:汉字返回拼音首字母字符串;
*                 
英文字母返回对应的大写字母;
*                
其他非简体汉字返回 '0'
* @Author:       ghc
* @Create Date: 2008-07-02
*/
6
、方法注释:
方法注释采用 /** …… */,对于设置 (Set 方法 ) 与获取 (Get 方法 ) 成员的方法,在成员变量已有说明的情况下,可以不加注释;普通成员方法要求说明完成什么功能,参数含义是什么且返回值什么;另外方法的创建时间必须注释清楚,为将来的维护和阅读提供宝贵线索。
7
、方法内部注释:
控制结构,代码做了些什么以及为什么这样做,处理顺序等,特别是复杂的逻辑处理部分,要尽可能的给出详细的注释。
8
全局变量注释:
要有较详细的注释,包括对其功能、取值范围、哪些函数或者过程存取以及存取时注意事项等的说明。
9
、局部(中间)变量注释:
主要变量必须有注释,无特别意义的情况下可以不加注释。
10
、实参/参数注释:
参数含义、及其它任何约束或前提条件。
11
、字段/属性注释: 字段描述,属性说明。
12
、常量:常量通常具有一定的实际意义,要定义相应说明。

 

 

myeclipse的注释相关

1.java文件的自动注释

Window->Preference->Java -> Code Style -> Code Templates

files:新建文件时的注释

Types:类的注视

Field:变量的注释

Constructors:构造函数的注释

methods:一般方法的注释

可以在里edit一些固定的格式或变量 其中user默认取操作系统的名称,可以写死。 日期格式俺想知道怎么改成yyyy-mm-dd

2.JSP文件的注释

Window->Preference-myeclipse-editors-JSP-JSP TEMPLATES

 3.java中用的一些快捷 例:sysout

Window->Preference-java-editor-templates

可以自己写一些参数~例如 user ---zhongjb

 

1
3
分享到:
评论

相关推荐

    Java优化编程(第2版)

    Java优化编程(第2版)通过丰富、完整、富有代表性的实例,展示了如何提升Java应用性能,并且给出了优化前与优化后的Java应用程序的性能差别,以实际的实例与数字告诉你,为什么不可以这么做,应该怎么做,深入分析...

    张孝祥Java就业培训教程.pdf

    在以后的章节中,用通俗易懂的手法,紧密联系实际应用的方式,深入浅出地讲解了多线程,常用Java类,Java中的I/O(输入输出)编程,GUI与Applet,网络编程等方面的知识。 本书许多内容都来源于程序员圈子里的非正式...

    Java毕业设计-基于springboot开发的技术美食烹饪互动平台设计与实现-毕业论文(附毕设源代码).rar

    本次分享的资源是一个基于Spring Boot开发的技术美食烹饪互动平台设计与实现的毕业论文及其毕设源代码。这一资源不仅为计算机相关专业的学生提供了一个深入了解Spring Boot框架应用的实践机会,同时也为美食爱好者和...

    Java毕业设计-基于springboot开发的可盈保险合同管理系统设计与实现-毕业论文(附毕设源代码).rar

    该毕业设计不仅是一份合格的学术成果,更是一份具有实际应用价值的软件项目。源代码清晰规范,注释详尽,方便其他同学或开发者进行二次开发和定制。无论是对于学习Spring Boot框架的同学,还是对于需要开发类似系统...

    JAVA毕业设计之springboot财务管理系统项目(springboot完整源码+说明).zip

    通过阅读该项目的源码和说明,可以学习到springboot框架的使用方法及其在实际项目中的应用,同时也能够了解到财务管理系统的基本功能和设计思路。对于想要开发类似系统的开发者,这个项目也可以作为一个很好的参考...

    深入理解Android:卷I--详细书签版

    针对性强,注重实际应用开发需求,书中所涵盖的知识点都是android应用开发者和系统开发者需要重点掌握的。  全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对android系统架构和源码阅读方法的介绍;...

    JSP高级编程

    本书从最基础的JSP开发开始,循序渐进地介绍了JSP 开发技术,并涵盖了许多高级主题,如需要在企业级Web应用中使用的特性—Enterprise JavaBeans、JDBC 2.0、数据库连接池和自定义标签库。本书既适合初学者阅读,也...

    jsp servlet 入门学习资料-新手一看就懂

    3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 ...

    C#微软培训资料

    C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出...

    JSP高级教程

    3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 ...

    jsp从入门到高级编程

    3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 ...

    asp.net知识库

    .NET 2.0 泛型在实际开发中的一次小应用 C#2.0 Singleton 的实现 .Net Framwork 强类型设计实践 通过反射调用類的方法,屬性,字段,索引器(2種方法) ASP.NET: State Server Gems 完整的动态加载/卸载程序集的解决方案 ...

    javaSE代码实例

    6.9.2 Java中的GregorianCalendar类 96 6.9.3 擅用系统已有类的思想 98 6.10 小结 99 第7章 访问控制——Java世界的卫兵 100 7.1 包的使用 100 7.1.1 声明创建包 100 7.1.2 引入包内的资源 102 7.1.3...

    基于SpringBoot+Vue+Vue的乡政府管理系统(源码+部署说明+演示视频+源码介绍).zip

    以下是对这套系统及其源码包内容的详细介绍: 系统概览: 使用技术:SpringBoot作为后端服务框架,Vue.js用于构建动态的前端用户界面。 功能模块:可能包含居民信息管理、公文流转、项目管理、财务管理、公告发布...

    JSP 程序设计从入门到精通 PDF 教程

    由浅入深、循序渐进地介绍了JSP的运行系统,基本概念,语法规范及其相关内容,从基本的JSP概述、与其他技术的对比,到JSP的运行系统和模式,逐步深入地对JSP语法规范进行了详细的讲解,并结合应用实例加以巩固。...

    jetty-websocket-example:使用嵌入式Jetty设置WebSocket服务的示例代码

    使用Java SE的Websocket的示例与其使用Java EE及其附带的所有功能,不如使用Java EE,而不是WebSocket的一种较小的实现方式,可能是针对独立程序或嵌入式应用程序的。 该示例将显示使码头服务器运行,为websocket...

    大数据开发工程师的岗位职责.docx

    2、基于海量用户行为数据和其他数据,分析和研究数据与实际业务的关联关系,并与实际业务应用相结合开发; 3、负责大数据分析需求设计和开发,承担数据抽取、清洗、转化等数据处理程序开发。 任职要求: 1、熟悉...

    c#学习笔记.txt

    有三种使用集合的方法: 使用上述指导创建一个集合。此集合只能用于 C# 程序。 1. 使用上述指导创建一个一般集合,另外实现 IEnumerable 接口。此集合可用于其他语言(如 Visual Basic)。 2. 在集合类中使用一个...

Global site tag (gtag.js) - Google Analytics