这篇文章主要讲解了“什么是java命名约定”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是java命名约定”吧!
01、包(package)
包的命名应该遵守以下规则:
应该全部是小写字母
点分隔符之间有且仅有一个自然语义的英语单词
包名统一使用单数形式,比如说 com.itwanger.util 不能是 com.itwanger.utils
在最新的 Java 编程规范中,要求开发人员在自己定义的包名前加上唯一的前缀。由于互联网上的域名是不会重复的,所以多数开发人员采用自己公司(或者个人博客)在互联网上的域名称作为包的唯一前缀。比如我文章中出现的代码示例的包名就是 package com.itwanger。
02、类(class)
类的命名应该遵守以下规则:
必须以大写字母开头
最好是一个名词,比如说 System
类名使用 UpperCamelCase(驼峰式命名)风格
尽量不要省略成单词的首字母,但以下情形例外:DO/BO/DTO/VO/AO/ PO / UID 等
另外,如果是抽象类的话,使用 Abstract 或 Base 开头;如果是异常类的话,使用 Exception 结尾;如果是测试类的话,使用 Test 结尾。
03、接口(interface)
接口的命名应该遵守以下规则:
必须以大写字母开头
最好是一个形容词,比如说 Runnable
尽量不要省略成单词的首字母
来看个例子:
interface Printable {}
接口和实现类之间也有一些规则:
实现类用 Impl 的后缀与接口区别,比如说 CacheServiceImpl 实现 CacheService 接口
或者,AbstractTranslator 实现 Translatable 接口
04、字段(field)和变量(variable)
字段和变量的命名应该遵守以下规则:
必须以小写字母开头
可以包含多个单词,第一个单词的首字母小写,其他的单词首字母大写,比如说 firstName
最好不要使用单个字符,比如说 int a,除非是局部变量
类型与中括号紧挨相连来表示数组,比如说 int[] arrayDemo,main 方法中字符串数组参数不应该写成 String args[]
POJO 类中的任何布尔类型的变量,都不要加 is 前缀,否则部分框架解析会引起序列化错误,我自己知道的有 fastjson
避免在子类和父类的成员变量之间、或者不同代码块的局部变量之间采用完全相同的命名,使可理解性降低。子类、父类成员变量名相同,即使是 public 类型的变量也能够通过编译,另外,局部变量在同一方法内的不同代码块中同名也是合法的,这些情况都要避免。
反例:
public class ConfusingName { public int stock; // 非 setter/getter 的参数名称,不允许与本类成员变量同名 public void get(String alibaba) { if (condition) { final int money = 666; // ... } for (int i = 0; i < 10; i++) { // 在同一方法体中,不允许与其它代码块中的 money 命名相同 final int money = 15978; // ... } } } class Son extends ConfusingName { // 不允许与父类的成员变量名称相同 public int stock; }
05、常量(constant)
常量的命名应该遵守以下规则:
应该全部是大写字母
可以包含多个单词,单词之间使用“_”连接,比如说 MAX_PRIORITY,力求语义表达完整清楚,不要嫌名字长
可以包含数字,但不能以数字开头
来看个例子:
static final int MIN_AGE = 18;
06、方法(method)
方法的命名应该遵守以下规则:
必须以小写字母开头
最好是一个动词,比如说 print()
可以包含多个单词,第一个单词的首字母小写,其他的单词首字母大写,比如说 actionPerformed()
来看个例子:
void writeBook(){}
Service/DAO 层的方法命名规约:
获取单个对象的方法用 get 做前缀
获取多个对象的方法用 list 做前缀,复数结尾,如:listObjects
获取统计值的方法用 count 做前缀
插入的方法用 save/insert 做前缀
删除的方法用 remove/delete 做前缀
修改的方法用 update 做前缀
感谢各位的阅读,以上就是“什么是java命名约定”的内容了,经过本文的学习后,相信大家对什么是java命名约定这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。