JAVA 编程规范 Coding Rule

本文详细介绍了JAVA编程规范,包括Package命名、文件名、类名、接口名、常量名、变量名、方法名的规则,强调了Javadoc的使用方法,并提供了具体的示例。遵循这些规范,可以提高代码的可读性和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老大要求对程序进行 Coding Review ,没办法只好重新 开始 看起了 JAVA  Coding Rule.  与君共勉之。。。

-----------------------------------------------------------------------------------------------------------------------------------------------

1.1. Package名(小写字母)

特定package名的前缀应是通常只用小写字母书写的最高标准的域名 (现在是由comedugovmilnetorg或ISO_3166所规定的2个文字的字母表来表示的国家编码)。前缀的接续部分是根据编程组织的原本的命名规则来规定。此规则规定目录名为部署、部门、projectmachine或注册名。另外,由两个以上词构成的目录名也全部用小写字母来命名。

:  com.mc.pf.common.properties

 1.2. 文件名

用该文件中的public class名作为文件名。

 public class Point{…}所以文件名为Point.java 

 1.3. 类名(各单词首字母为大写字母)

类名首字母及各单词的首字母为大写字母。

注意 "Test"这个单词在类名中不使用。

:CapitalizedWithInternalWordsAlsoCapitalized

 1.3.1. 例外的类名

例外的类名首字母为大写字母、各单词的首字母为大写字母、Exception用作为末尾的类名

注意 "Test"这个单词在例外的类名中不使用。(保留作为JUnitTestClass命名用)

:Class NameEndsWithException

 1.3.2. 接口名

接口名首字母为大写字母、各单词的首字母为大写字母。

注意 "Test"这个单词在接口名中不使用。

:NameOfInterface

另外,要表示添加类里特定功能的接口时,用末尾是able的接口名。

:RunnableClonableSerializable、 

 1.3.3. 实现类名

实现类名是在所实现的接口名末尾添加Impl。但是,在扩展功能实现类的情况下,根据不同用途来命名。

注意 "Test"这个单词在实现类名中部使用。

:接口ClassNameEndsWith的实现类。ClassNameEndsWithImpl接口RequestHandler的扩展实现类。SalesRequestHandler

 1.3.4. 抽象类名

抽象类名从Abstract开始,各单词的首字母为大写字母。

注意 "Test"这个单词在抽象类名中不使用。

:  AbstractBeforeSubClassName

1.3.5. 常量类名、常量接口名

常量类、常量接口在本系统无特别规定。

1.3.6. 单体测试类名

单体测试类名是在测试的类名的末尾添加test

:  DateUtil类的测试类名是DateUtilTest.java


1.4. 常量名(大写字母,"_"连接)

常量名全部使用大写字母,单词用"_"连接。

:  UPPER_CASE_WITH_UNDERSCORES

另外,做为半常量(只作参照用)的MapList等的object名也和常量名一样。


1.5. 变量名(首字母为小写文字,其余首字母为大写文字)

变量名取一个有意思的名字。由2个单词以上构成的变量名首字母为小写文字,各单词的首字母为大写文字。

:  employeeStateNumber

1.5.1. 类变量名、接口变量名

类变量名、接口变量名以"_"开始。

: _field

 1.5.2. 局部变量名

局部变量名无特别的规定,取一有意思的名字即可。


1.6. 方法名

 1.6.1. 属性的取得方法

写成get<属性名> ()

:  public Employee getEmployee()

 1.6.2. 属性的设定方法

写成set<属性名> (…)

:  public void setEmployee(Employee employee)

 1.6.3. 返回boolean变量的方法

返回boolean变量的方法名

boolean isEmpty()

 

1.7. 循环变量Iterator的命名规则(i,j,k)

在范围小的循环里面,按顺序使用i、 j、 来作为循环变量。

 

1.8. import句子(不使用"*")

import句子里不使用"*" ,要精确到每个具体引用的类.

例:不正确的例子import java.util.*;

 正确的例子import java.util.HashMap; import java.util.ArrayList; import java.util.Map;

 

1.9. 换行(128字母,30行)

一行最多为128个字母,如超过128个字母就换行。不允许一个函数超过30 行。


1.10. 数组

数组的定义写成Type[] arrayName

不正确的例子static void main(String args[]);   正确的例子static void main(String[] args); 

 

1.11. 变量定义(一行里只一个)

一行里只一个变量定义。

:不正确的例子int level, size;

正确的例子

int level; 

int size; 


1.12. Collection

不使用Vector、 Hashtable、 Enumeration ,使用collection类的List (ArrayList)、 Map(HashMap)、 Iterator 


2.1. 说明

Javadoc的说明一定要使用。此说明可根据Javadoc或同样的工具变换成HTML形式上的文件。

Java的说明有三种。

l /** ... */输入 Javadoc说明、HTML文件。

l /*  */    一般说明、两行以上说明用此项。

l //       一般说明、一行说明用此项。

 

Javadoc说明用于功能概要,也就是外部定义记述,在类及方法定义前记入。说明的第一行在HTML的Method Index里使用。记述外部功能简短的说明。说明的第一行用全角的句号("。")结尾。在第一行下面进行功能说明。

 

在所有的类、方法、字段里必须要加Javadoc说明。(包括private)

 

2.2. Javadoc的使用方法

2.21. 源程序头部说明

在源程序头部说明里记入

l 文件名

l Product

l Version

l Copyright

 

注意Version在每次交货时累加。

:

/*

 * CordingRuleImpl.java 

 * Product: PF

 * Version: 1.0

 * Copyright 2003 by 株式会社EC-one China

 * ALL Rights Reserved.

 */

2.2.2. 
类说明

在类说明里记录

l 类说明

l author

 

注意 历史的管理结合test以后进行。在进行修改时追加author,记入名字和修改日期。

/**

 * 工人数据类。

 * 管理工人的个人信息。

 * @author  Takahiro Kanda2002/03/06

 * @author  Taro Yanada   2002/03/31

 */

 

2.2.3. 字段说明

在字段说明里记入字段的说明。

:

/** 工人编号 */

String employeeCode;

 

2.2.4. 方法说明

在方法说明里记入

l 方法的说明

l 参数

l 返回值

l 例外

 

:

    /**

      * 在工人目录里追加工人编号。

      * @param employeeCode追加的工人编号

      * @return true-追加成功,false-追加失败

      * @exception IndexOutOfBoundsException employeeCode10位以上时产生

      */

public boolean addEmployee(String employeeCode )throws IndexOutOfBoundsException{

.......

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值