### 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[]) 方法应该写在类的底部。
- 版本发布注意文档
- 软件的准备与配置
- maven的安装与配置
- SVN命令行的安装与配置
- 确保vpn连通
- 启动脚本前的准备
- 找到脚本
- 配置配置文件config.ini
- 修改POM文件版本号
- 写升级文档
- 执行发布脚本文件
- DB2安装文档
- 获得安装文件
- 安装过程
- 安装结果检验
- 凡软报表部署文档
- 安装须知
- 下载软件
- 软件安装
- 激活软件
- 获取凡软项目
- 获取方式一
- 获取方式二
- 凡软目录介绍
- 凡软数据源配置
- 数据源配置文件生成
- 数据源配置文件替换
- TOMCAT服务器部署
- 独立部署(强烈建议)
- 嵌入式部署(强烈不建议)
- Websphere服务器部署
- 必要配置
- 基础平台使用手册
- 部署
- 引入开发包
- 修改配置文件
- db2和oracle切换
- 缓存
- 使用缓存
- 异常处理
- 规范
- 菜单规范
- 字典规范
- 快速开发
- 后台
- 前台
- 通用方法的使用
- 导出当前页和导出所有数据
- 附件上传
- 动态tab页配置
- 报表配置
- 桌面豆腐块配置
- 通用导入功能配置说明书
- 模板配置
- 按钮-模板-内容的关系
- 页面按钮配置
- 模板配置例子
- 模板与导入字段关联
- 字段配置
- 普通字段
- 主键字段
- 默认值字段
- 时间字段
- 字典字段
- 翻译字段
- 数据检验
- 错误管理
- 通用导入开发配置手册
- 数据库 表结构和表字段
- 处理过程简介
- 开发指南
- 新版工作流说明文档
- 实体关系
- 流程配置
- 流程设计
- 串行流程设计
- 并行流程设计
- 流程变量配置
- 设置节点属性
- 流程实例监控
- 工作项实例监控
- 流程接口
- 发起流程createProcess
- 开启流程startProcess
- 获取任务getTask
- 提交任务putTask
- 获取任务列表listTask
- 根据条件获取任务列表listTaskByBusiness
- 根据条件获取任务列表listTaskByFilter
- 终止任务terminateProcess
- 增加任务参与者addApplyMan
- 释放任务releaseTask
- 流程任务
- 注意事项
- 流程、任务状态
- 业务表处理流程说明
- 启动流程
- 审批流程
- 业务关联工作流查询
- 研究中心开发规范
- 开发首要规范
- 不能import*通配符
- 包引用原则
- 提交的程序不能出现调试代码
- 文件名的大小写要保持一致
- 系统参数命名规则
- 项目工程在IDE环境中的设置
- 样式文件及js脚本文件存放位置
- 开发程序前必须做好相关的编号登记
- 引入第三方jar包
- 程序提交规范
- 数据库设计
- 设计工具
- 设计要求
- 命名约定
- JAVA程序编码规范
- 命名规则
- 其他代码编写惯例规则
- JSP程序编码规范
- java源文件样式
- 空白
- 空行
- 空格
- 注释
- 实现注释的格式
- 块注释
- 单行注释
- 行末注释
- 方法注释
- 算法注释
- 特殊注释
- 注释内容
- 在eclipse的配置
- 包的规划
- 图片命名规范