Java语言开发规范

c#小王子 c#小王子 2022-03-03 552 Java

1 目的


编码规范对于程序员而言尤为重要,有以下几个原因:

- 一个软件的生命周期中,80%的花费在于维护

- 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护

- 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码


为了执行规范,每个软件开发人员必须自觉遵守该编码规范。为了不使该规范成为你工作的负担,请尽可能使用 IDE 提供的格式化工具来自动格式化代码。


2 命名规范

命名规范使程序更易读,从而更易于理解。它们也可以提供一些有关标识符功能的信息,以助于理解代码。


2.1 包(Package)的命名


包是用来组织类结构的重要机制,好的包结构有利于快速理解模块设计。在 Java1.1以前包名是允许大写的,但在 Java2 之后,包名一律小写。


package 的名字必须都是由小写单词组成的。


尽可能使用有英语意义的包名,禁止使用汉语拼音


避免过长的包名和过深的包层次结构。尽可能使用国际上通过的一些缩写形式,不要自创。如 util、dao、dto、form、action、handler、impl、proxy、tag、test等。一个包的范例图:


Java语言开发规范


2.2 类(Class)的命名


类名是个名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名

简洁而富于描述。尽可能用有意义的单词命名,如:BaseInfo, TreeNode, QuerySet

等。


接口的命名必须以 I 打头,如 IValidationRule。


避免过长的类名,使用一些通用的缩写形式。如 DefaultOracleDAOImpl。


2.3 对象(类实例)Object 命名


采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量

名不应以下划线或$开头,尽管这在语法上是允许的。


其他参照类命名的相关约定。


2.4 基本数据类型(Primitive)的变量命名

基本数据类型的变量第一个字母为变量类型的缩写。如:fTotalCost,iCount 等。除非是一次性的临时变量。临时变量通常被取名为 i,j,k,m 和 n,它们一般用于整型;c,d, e,它们一般用于字符型。关于数据类型标识的说明:



2.5 常量(Constants)的命名

static final 变量的名字应该都大写,并且指出完整含义,单词间用下划线隔开。如:

static final int MIN_WIDTH = 4;

static final int MAX_WIDTH = 999;

static final int GET_THE_CPU = 1;


2.6 参数(Parameter)的命名

参数的命名约定参见 2.3 和 2.4。


2.7 数组(Array)的命名

数组应该总是用下面的方式来命名:

byte[] aBuffer; 而不是:byte aBuffer[]。


2.8 方法(Method)的命名

方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。如:

doSaveToAtm();

startBackendProcess();


3 Java 文件样式

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


3.1 版权信息格式

版权信息必须在 java 文件的开头,但在 package 和 import 段落之后。比如:

package com.fsti.kdsl.core.action;
import java.util.ArrayList;
/**
* <p>Title:历时计算模块之基本统计类 </p>
* <p>Description: 使用递归算法实现</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: FSTI Co.,LTD</p>
* @author Li Lin
* @version 2.0
* @since 1.1
*/


其他不需要出现在 javadoc 的信息(如修改信息)也可以包含在这里。尽可能使用开发工具 JBuilder 生成。


3.2 package/import 格式

package 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。我们约定不可以出现 java.util.*之类的不明确的声明。如:

package com.fsti.duration.controller ;
import java.util.GregorianCalendar ;
import java.util.Set ;import com.fsti.duration.config.DurationConfig ;
import com.fsti.duration.constant.StateConstant ;
import com.fsti.duration.exception.RetrieveConfigException ;
import com.fsti.duration.info.DurationExtendedInfo ;
import com.fsti.duration.info.DurationInfo ;
import com.fsti.duration.manager.DurationInfoHandlerFacade ;
import com.fsti.util.DateUtil ;

推荐使用 Jbuilder 中的 Optimize Imports(优化导入)功能来帮你实现 import 的格

式化。快捷键 Ctrl+I。


3.3 类方法注释的格式

建议使用 IDE 如 JBuilder 提供的方法注释功能来书写,这样也便于生成 javadoc。如

/**
* 做受理后的相关历时操作 算法概要:
* <p>1.计算预计派障时间,派障门限时间,预计销障时间,销障门限时间
* <p>2.创建该故障的 DurationInfo 对象,并持久化
* <p>3.创建该故障新的 DurationExtendedInfo 对象(派障类型),并持久化
* @param fault FaultBean 故障对象
* @throws RetrieveConfigException 获取历时配置异常
*/

public final void doAcceptDuration ( FaultBean fault )

throws RetrieveConfigException

可以利用 JBuilder 提供的 JavaDoc Conflicts 来发现关于方法注释的不规范的地方。


3.4 实现注释的格式

实现注释用以注释代码或者实现细节。

注释应被用来给出代码的总括,并提供代码自身没有提供的附加信息。在注释里,对设计决策中重要的或者不是显而易见的地方进行说明是可以的,但应避免提供代码中己清晰表达出来的重复信息。多余的注释很容易过时。通常应避免那些代码更新就可能过时的注释。


【下载地址】

百度网盘链接:https://pan.baidu.com/s/1eWH0Xa01cNbmy6uHHke05w

提取码:jr2d




相关文章


使用-JFreeChart来创建基于web的图表

使用-JFreeChart来创建基于web的图表

XStream使用文档

XStream使用文档

WebService发布过程及常见问题

WebService发布过程及常见问题

webpack实战入门进阶调优分享

webpack实战入门进阶调优分享

weblogic调优参数及监控指标

weblogic调优参数及监控指标

weblogic节点管理

weblogic节点管理

weblogic管理控制台概述

weblogic管理控制台概述

weblogic-部署和启动

weblogic-部署和启动

WebLogic-Server-性能及调优-调优-Java-虚拟机

Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。

Velocity用户教程

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。

Velocity用户手册

Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。


文章热度: 166291
文章数量: 333
推荐阅读

FlashFXP绿色版网盘下载,附激活教程 1778

FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具

Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1564

firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ

navicat for mysql中文绿色版网盘下载 1623

Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq

火车头采集器(旗舰版)绿色版网盘下载 1706

火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA

Photoshop(CS-2015-2023)绿色中文版软件下载 1822

安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64

知之

知之平台是全球领先的知识付费平台。提供各个领域的项目实战经验分享,提供优质的行业解决方案信息,来帮助您的工作和学习

使用指南 建议意见 用户协议 友情链接 隐私政策 Powered by NOOU ©2020 知之