您的位置 首页 java

Java 命名规范

命名规范的目的

  • 代码的可阅读性
  • 代码的可维护性

Java总体命名规范

1、项目名全部小写.
2、包名全部小写.
3、类名首字母大写,其余组成词首字母依次大写.即
使用UpperCamelCase风格(大驼峰形式)
4、变量名,方法名首字母小写,如果名称由多个单词组成,除首字母外的每个单词的首字母都要大写.即
使用lowerCamelCase风格(小驼峰形式)
5、常量名全部大写.
6、所有命名规则必须遵循以下规则 :

  • 名称只能由字母、数字、下划线、$符号组成.
  • 不能以数字开头.
  • 名称不能使用Java中的关键字.
  • 坚决不允许出现中文及拼音命名.

7 接口名使用UpperCamelCase风格(大驼峰形式)

8 抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以 Test 结尾。

9 为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词组合来表达其意,即要做到“见名知意”。

10 如果模块、 接口、类、方法使用了设计模式,在命名时需体现出具体模式

11 不允许任何魔法值(即未经预先定义的常量)直接出现在代码中

 /
/正例:

public static final ORDER_REDIS_KEY_PREFIX = "orderId_";
String orderRedisKey = ORDER_REDIS_KEY_PREFIX + orderId;
//反例:

String redisKey = "orderId_" + orderId;  

12 不允许任何魔法表达式(即未经预先定义的表达式)直接出现在代码中

 魔法表达式,就是十分冗长,不好理解。
if ( a=3 || obj.getValue() == 3 && !() || ... && ...) {}
如果这一行想表达一个意思,库存已经完了,就提前定义:
boolean isGoodsExists =  a=3 || obj.getValue() == 3 && !() || ... && ...;
if ( isGoodsExists ) ..
这样的话,阅读快,根本不需要把表达式”密码“破解才知道。
  

13 枚举类名带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。

说明:枚举其实就是特殊的类,域成员均为常量,且构造方法被默认强制是私有。

 正例:枚举名字为ProcessStatusEnum的成员名称:SUCCESS / UNKNOWN_REASON  

Java包名命名规范

Java的包名由小写单词组成,包的路径符合所开发的系统模块的定义,以便通过包名可得知其属于哪个模块,从而方便到对应包里找相应的实现类.

  • 常规包名

为了保障每个Java Package命名的唯一性,在Java编程规范中要求开发人员在自己定义的包名前加上唯一的前缀.由于互联网上的域名称是不会重复的,所以多数开发人员采用自己公司在互联网上的域名称作为自己程序包的唯一前缀.例如 : com.sun.swt…

1.公司项目

com : 公司项目,copyright由项目发起的公司所有.

包名 : com.公司名.项目名.模块名..

2.团队项目

team : 团队项目,指由团队发起,并由该团队开发的项目,copyright属于该团队所有.

包名 : team.团队名.项目名.模块名..

  • 自定义包名

一般公司命名为com.公司名.项目名.模块名….那我们个人的项目又怎么命名呢?

个人的英语单词有individual、personal、private、one-man,进一步对以上四个单词词意进行分析并在保证了唯一性,继而使用每个单词的前4个字母作为前缀,与com也做了区分.示例如下所示:

1.indi : 个体项目,指个人发起,但非自己独自完成的项目,可公开或私有项目,copyright主要属于发起者.

包名 : indi.发起者名.项目名.模块名..

2.pers : 个人项目,指个人发起,独自完成,可分享的项目,copyright主要属于个人.

包名 : pers.个人名.项目名.模块名..

3.priv : 私有项目,指个人发起,独自完成,非公开的私人使用的项目,copyright属于个人.

包名 : priv.个人名.项目名.模块名..

4.onem : 与indi相同,推荐使用indi.

文章来源:智云一二三科技

文章标题:Java 命名规范

文章地址:https://www.zhihuclub.com/193956.shtml

关于作者: 智云科技

热门文章

网站地图