java 代码 规范 快捷键

 

 

使用匈牙利表示法

  1. Package 的命名 Package 的名字应该都是由一个小写单词组成。
    package com.neu.util

 

  1. Class 的命名
    Class 的名字必须由大写字母开头而其他字母都小写的单词组成,对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。

    public class ThisAClassName{

 

  1. Class 变量的命名
    变量的名字必须用一个小写字母开头。后面的单词用大写字母开头
    userName , thisAClassMethod

  2.  

  3. Static Final 变量的命名
    static Final 变量的名字应该都大写,并且指出完整含义。

/** *DBConfig PATH **/ public static final String DB_CONFIG_FILE_PATH ="com.neu.etrain.dbconfig";

  1. 参数的命名
    参数的名字必须和变量的命名规范一致。

 

  1. 数组的命名
    数组应该总是用下面的方式来命名: byte[] buffer;而不是: byte buffer[];

 

  1. 方法的参数
    使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字: SetCounter(int size){ this.size = size;}

 

Eclipse 设置代码格式化的快捷键是 CTRL+SHIFT+F 

 

 

 

eclipse用 javadoc 来为类生成文档

http://jingyan.baidu.com/article/dca1fa6f4d3d7ff1a4405239.html

 

:-encoding utf-8 -charset utf-8

 

 

括号
左括号和后一个字符之间不应该出现空格, 同样, 右括号和前一个字符之间也不应该出现空格. 下面的例子说明括号和空格的错误及正确使用:

CallProc( AParameter ); // 错误
CallProc(AParameter); // 正确

 

Java的语法与 C++ 及为相似,那么,你知道 Java 的注释有几种吗?是两种?   

  // 注释一行  

  /* ...... */ 注释若干行

  不完全对,除了以上两种之外,还有第三种,文档注释:   

  /** ...... */ 注释若干行,并写入 javadoc 文档

 
  
  1. 注释要简单明了。 String userName = null; //用户
  2. 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
  3. 在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码 相邻,即注释的就近原则。
  4. 对代码的注释应放在其上方相邻位置,不可放在下面。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结 构中的每个域的注释应放在此域的右方;同一结构中不同域的注释要对齐。
  5. 变量、常量的注释应放在其上方相邻位置或右方。
  6. 全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。
  7. 在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日期;模块功能描述(如功能、主要算 法、内部各部分之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记录等。 /** * Copy Right Information : Neusoft IIT * Project : eTrain * JDK version used : jdk1.3.1 * Comments : config path * Version : 1.01 * Modification history :2003.5.1 * Sr Date Modified By Why & What is modified * 1. 2003.5.2 Kevin Gao new **/
  8. 在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描 述;输入、输出及返回值说明;调用关系及被调用关系说明等 /** * Description :checkout 提款 * @param Hashtable cart info * @param OrderBean order info * @return String */ public String checkout(Hashtable htCart, OrderBean orderBean) throws Exception{ }
  9. javadoc注释标签语法

    @author 对类的说明 标明开发该类模块的作者 @version 对类的说明 标明该类模块的版本 @see 对类、属性、方法的说明 参考转向,也就是相关主题 @param 对方法的说明 对方法中某参数的说明 @return 对方法的说明 对方法返回值的说明 @exception 对方法的说明 对方法可能抛出的异常进行说

 

 

 

访问类的成员变量
大部分的类成员变量应该定义为 protected 的来防止继承类使用他们。

 

 

 

 

Java 文件格式

所有的 Java(*.java) 文件都必须遵守如下的样式规则:

  • 版权信息
    版权信息必须在 java 文件的开头,比如:
    /*
     * Copyright © 2000 Shanghai XXX Co. Ltd.
     * All right reserved.
     */
    
    其他不需要出现在 javadoc 的信息也可以包含在这里。
  • Package/Imports
    package 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。
    package hotlava.net.stats;
    
    import java.io.*;
    import java.util.Observable;
    import hotlava.util.Application;
    
    这里 java.io.* 使用来代替InputStream and OutputStream 的。
  • Class
    接下来的是类的注释,一般是用来解释类的。
    /**
     * A class representing a set of packet and byte counters
     * It is observable to allow it to be watched, but only
     * reports changes when the current set is complete
     */
    		
    接下来是类定义,包含了在不同的行的 extends 和 implements
    public class CounterSet
    		extends Observable
    		implements Cloneable
    
  • Class Fields
    接下来是类的成员变量:
    /**
     * Packet counters
     */
    protected int[] packets;
    
    public 的成员变量必须生成文档(JavaDoc)。proceted、private和 package 定义的成员变量如果名字含义明确的话,可以没有注释。
  • 存取方法
    接下来是类变量的存取的方法。它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上。
    /**
     * Get the counters
     * @return an array containing the statistical data.  This array has been
     * freshly allocated and can be modified by the caller.
     */
    public int[] getPackets() { return copyArray(packets, offset); }
    public int[] getBytes() { return copyArray(bytes, offset); }
    
    public int[] getPackets() { return packets; }
    public void setPackets(int[] packets) { this.packets = packets; }
    
    其它的方法不要写在一行上
  • 构造函数
    接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。
    访问类型 ("public", "private" 等.) 和 任何 "static", "final" 或 "synchronized" 应该在一行中,并且方法和参数另写一行,这样可以使方法和参数更易读。
    public
    CounterSet(int size){
      this.size = size;
    }
    
  • 克隆方法
    如果这个类是可以被克隆的,那么下一步就是 clone 方法:
    public
    Object clone() {
      try {
        CounterSet obj = (CounterSet)super.clone();
        obj.packets = (int[])packets.clone();
        obj.size = size;
        return obj;
      }catch(CloneNotSupportedException e) {
        throw new InternalError("Unexpected CloneNotSUpportedException: " + e.getMessage());
      }
    }
    
  • 类方法
    下面开始写类的方法:
    /**
     * Set the packet counters
     * (such as when restoring from a database)
     */
    protected final
    void setArray(int[] r1, int[] r2, int[] r3, int[] r4)
      throws IllegalArgumentException
    {
      //
      // Ensure the arrays are of equal size
      //
      if (r1.length != r2.length || r1.length != r3.length || r1.length != r4.length)
    	throw new IllegalArgumentException("Arrays must be of the same size");
      System.arraycopy(r1, 0, r3, 0, r1.length);
      System.arraycopy(r2, 0, r4, 0, r1.length);
    }
    
  • toString 方法
    无论如何,每一个类都应该定义 toString 方法:
    public
    String toString() {
      String retval = "CounterSet: ";
        for (int i = 0; i < data.length(); i++) {
          retval += data.bytes.toString();
          retval += data.packets.toString();
        }
        return retval;
      }
    }
    
  • main 方法
    如果main(String[]) 方法已经定义了, 那么它应该写在类的底部.

 

 

 

 

 

 

JSP 编码规范

。整个jsp/jsp bean表示层应当尽可能的瘦和简单化。

。牢记大多数的JSP都应当是只读的视图,而由页面bean来提供模型。

。应当一起设计JSP和JSP bean

。在尽可能合理的情况下,把业务逻辑从JSP中移走。具体于HTTP的逻辑(如,对Cookie的处理)属于bean或支持类中,而不是JSP中。

。尽量把条件逻辑放在控制器中而不是放在视图中。

。为JSP、包含的文件、JSP Bean和实现扩展标记的类使用遵循标准的命名惯例。如:
        jsp控制器   xxxxController.jsp
        被包含的:  jsp _descriptiveNameOfFragment.jsp
        jsp页面模型bean:   Bean 如loginBena.java
        jsp会话bena:   xxxxSessionBean
        标记类 : xxxxTag,xxxxTagExtraInfo

。应当在JSP中避免使用页面引入指令。import指令会促使类的实列化而不是jsp bean的实例化:
        不用:<%@ page import = "com.java.util.*" %>
        而用:<% java.util.List l = new java.util.LinkedList(); %>

。jsp不应该直接去访问请求参数。bean应当执行这样的处理过程并且输出所处理的模型数据。

。jsp不应当访问属性文件,或者使用JNDI。bean可以访问属性。

。如果jsp bean具有的所有的属性不能够从页面请求中被映射到,就要尽力在标记中设置属性。

。应当避免设计既显示表单又处理结果的页面。

。在jsp中避免代码重复。把要重复的功能放在一个包含的jsp、bean或标记扩展中,使得它能够被重用。

。jsp bean应当永远不要去产生HTML

。在jsp中应该避免使用out.pringln()发放来产生页面内容。

。jsp层不应该直接访问数据,这包括JDBC数据库访问和EJB访问。

。在长度上,scriptlests的代码最好不要超过5行。

。除了jsp bean之外,jsp不应当去实例化复杂的可读写的对象。如果这样的话,就有可能在jsp中去执行不适当的业务逻辑。

。jsp bean中不应当包含大量的数据。

。如果使用了,并且必须使用简单类型的值来与外部页面进行通讯的话,就应当使用一个或多个元素

。定制标记应当用在适当把逻辑从jsp中移走的地方。

。应当谨慎地使用标记,在jsp中它是一个等价的goto。

。应当使用隐藏的注释来阻止输出的HTML过大。

。在jsp中避免进行异常处理

。每个jsp文件中都应当使用一个错误页面来处理不能够从中恢复的异常。

。在jsp错误页面中,使用HTML注释来显示传递到该页面中的异常跟踪信息。

。只有在能够获得性能上的好处时,才使用jspInin()方法和jspDestroy()方法。获取和放弃资源是jsp beans和标记处理器的事,而不是由jsp来负责的。

。如果没有充分的理由,就不要在jsp中定义方法和内部内。

 

转载  java 快捷键 http://www.cnblogs.com/iamfy/archive/2012/07/11/2586869.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(java 代码 规范 快捷键)