黑马程序员技术交流社区

标题: 开发习惯-代码风格设置 [打印本页]

作者: bowen-xiao    时间: 2015-1-12 14:01
标题: 开发习惯-代码风格设置
本帖最后由 bowen-xiao 于 2015-1-22 08:54 编辑

工作以后,经历了一些项目的开发和维护之后,现在的项目大多都是由一个团队共同开发,
而每个人都有自己的编码习惯,为了统一格式,项目组在项目开发之前都会制定一系列的规范。
但是在执行过程中往往发现效果不是很好(主要是指编码规范这一方面)。

软件后期的路很长,如果把维护做得更轻松呢?
软件的好坏不但指软件本身的功能是否强大,一款好软件不仅仅是体现在它的功能,还有它的可维护性、可扩展性。
所以代码规范是非常有必要的,平时对bug的查找以及后期维护人的工作都是很帮助的。
所以平时的小习惯要引起我们的重视,良好的编码习惯不但有利于后期维护,也是我们高效软件开发的追求。

接下我要为大家介绍的是代码风格:
主要包括三个方面:设置Code TemplatesEclipse formatterCheckstyle,本篇主要介绍如何设置Code Templates
具体步骤如下:

打开Window->Preferences->Java->Code Style->Code Templates

点击"Import",导入模板bowen-codetemplates.xml文件。

codetemplates.xml内容是我们自己预先定义好的,在这里先不详细描述,我们可以看到Eclipse Code Templates界面中间Configure generated code and comments区域包含了两个菜单树:Comment、Code,


Comments代表注释模板,Code代表代码模板,其中每一个子菜单代表子项的模板。
我们只要点击某一个子项,就会在界面下方的Pattern区域看到该项我们所定义的模板内容和格式,如下图所示:

如上图所示,当我们点击Comments下的Files子菜单时,下面的Pattern会显示Java文件的头部注释。
下面详细列出每一个子项的模板格式:
Comments-->Files(Java文件注释)
Java代码
/**
* Project Name:${project_name}
* File Name:${file_name}
* Package Name:${package_name}
* Date:${date}${time}
* Copyright (c) ${year}, *****@1**.com All Rights Reserved.
*
*/  

Comments-->Types(Java类注释)
Java代码
/**
* ClassName: ${type_name} <br/>
* Function: ${todo} ADD FUNCTION. <br/>
* Reason: ${todo} ADD REASON(可选). <br/>
* date: ${date} ${time} <br/>
*
* @author ${user}
* @version ${enclosing_type}${tags}
* @since JDK 1.6
*/  

Comments-->Fields(类字段注释)
Java代码 [url=]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/10/clip_image005.gif[/url]
/**
* ${field}:${todo}(用一句话描述这个变量表示什么).
* @since JDK 1.6
*/  

Comments-->Constructors(构造函数注释)
Java代码 [url=]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/10/clip_image005.gif[/url]
/**
* Creates a new instance of ${enclosing_type}.
*
* ${tags}
*/  

Comments-->Methods(Java方法注释)
Java代码 [url=]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/10/clip_image005.gif[/url]
/**
* ${enclosing_method}:(这里用一句话描述这个方法的作用). <br/>
* ${todo}(这里描述这个方法适用条件 – 可选).<br/>
* ${todo}(这里描述这个方法的执行流程 – 可选).<br/>
* ${todo}(这里描述这个方法的使用方法 – 可选).<br/>
* ${todo}(这里描述这个方法的注意事项 – 可选).<br/>
*
* @author ${user}
* ${tags}
* @since JDK 1.6
*/  

Comments-->Overriding methods(重写方法注释)
Java代码 [url=]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/10/clip_image005.gif[/url]
/**
* ${todo} 简单描述该方法的实现功能(可选).
* ${see_to_overridden}
*/  

Comments-->Delegate methods(代理方法注释)
Java代码 [url=]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/10/clip_image005.gif[/url]
/**
* ${tags}
* ${see_to_target}
*/  

Comments-->Getters(Java Getter方法注释)
Java代码 [url=]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/10/clip_image005.gif[/url]
/**
* ${bare_field_name}.
*
* @return  the ${bare_field_name}
* @since   JDK 1.6
*/  

Comments-->Setters(JavaSetters方法注释)
Java代码 [url=]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/10/clip_image005.gif[/url]
/**
* ${param}.
*
* @param   ${param}    the ${bare_field_name} to set
* @since   JDK 1.6
*/  

Code-->New Java files(新建java文件代码模板)  
Java代码 [url=]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/10/clip_image005.gif[/url]
/**
* Project Name:${project_name}
* File Name:${file_name}
* Package Name:${package_name}
* Date:${date}${time}
* Copyright (c) ${year}, *****.@126.com  All Rights Reserved.
*
*/  
${filecomment}  

${package_declaration}  
/**
* ClassName:${type_name} <br/>
* Function: ${todo} ADD FUNCTION. <br/>
* Reason:   ${todo} ADD REASON. <br/>
* Date:     ${date} ${time} <br/>
* @author   ${user}
* @version   
* @since    JDK 1.6
* @see      
*/  
${typecomment}  
${type_declaration}  


下面是代码效果:
  1. /**
  2.          * 获取当前系统日历
  3.          *
  4.          * @return
  5.          * @throws IllegalArgumentException
  6.          * @see [类、类#方法、类#成员]
  7.          */
  8.         public static Calendar getCalendar() {
  9.                 return Calendar.getInstance();
  10.         }
  11.         
  12.         /**
  13.          * 获取当前系统时间,应统一调用,可根据用户的具体需求进行修改
  14.          *
  15.          * @return
  16.          * @throws IllegalArgumentException
  17.          * @see [类、类#方法、类#成员]
  18.          */
  19.         public static Date getDate() {
  20.                 return getCalendar().getTime();
  21.         }
  22.         
  23.         /**
  24.          * 获取当前系统时间,返回java.sql.Date
  25.          *
  26.          * @return
  27.          * @throws IllegalArgumentException
  28.          * @see [类、类#方法、类#成员]
  29.          */
  30.         public static java.sql.Date getSQLDate() {
  31.                 return toSqlDate(getCalendar().getTime());
  32.         }
复制代码


bowen-codetemplates.rar

1.37 KB, 下载次数: 0






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2