多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### java源文件样式 (1)版权信息 版权信息必须在 java 文件的开头,比如: /** * @{#} $Source file name$ Created on $DateTime$ * * Copyright (c) 2016 by SUNYARD. */ 其他不需要出现在 javadoc 的信息也可以包含在这里。 (2)package/imports package 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。 import 具体到每一个你使用到类,不允许出现例如:import java.io.*,而是import java.io.File. package com.sunyard.util;   import java.io.File; import java.util.Observable; (3)Class 接下来的是类的注释,一般是用来解释类的。 在类注释里面添加@auther以及@version两个说明。 @auther按以下格式填写: /** * 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 * * @version 1.0 */ 再接下来的是类的定义,把extends和implements定义在同一行,如果超长的话,把extends,implements分写在不同行上。 public class CounterSet extends Observable implements Cloneable (4)Class Fields 接下来是类的成员变量: /** * Packet counters */ protected int[] packets; proceted、private和 package 定义的成员变量如果名字含义明确的话,可以没有注释。 (5)存取方法 类变量的存取方法,方法内容不要写在一行上。 (6)构造函数 接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。访问类型 ("public", "private" 等.) 和 任何 "static", "final" 或 "synchronized" 应该在一行中,并且方法和参数另写一行,这样可以使方法和参数更易读。 建议每一个类都添加一个默认的空构造函数。 public CounterSet(int size){ this.size = size; } (7)类方法 下面开始写类的方法: 每个方法的入参数目建议不超过5个,如果超过5个,请为这个入参参数集合构建 一个简单的javabean作为该方法的入参参数。 每个方法做业务操作之前,检查该方法的入参参数是否合理,如果不合理,请抛出NPE(NullPointerException)或者IllegalArguemntException或者IllegalStateException等java的runtime exception。 一个方法的代码长度不能超过200行,如果超过200行,请分开到多个方法。 /** * 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); } (8)toString 方法 尽量在实体类中定义toString方法: public String toString(){ String result = "CounterSet: "; for (int i = 0; i < data.length(); i++){ result += data.bytes.toString(); result += data.packets.toString(); } return result; } } (9)main方法 如果main(String[]) 方法应该写在类的底部。