原文 - Java Naming Conventions - By Lokesh Gupta
Java 命名约定体提一种指导规范,在应用开发的过程中,程序开发者遵守这些指导规范来产出一致且易读的代码。如果团队合作中并不遵守这些规范,他们可能编写出很难读懂的应用程序代码。
Java 中广泛使用驼峰规则来命名方法,变量等,并使用首字母大写命名类和接口。
下面,我们用案例来说明这些命名规则。
1. 包命名
包命名必须是以全部小写的域名(比如:com, org, net, etc)
开始的一组单词。包名的后续部分可以根据自身的内部命名预定而有所不同。
package com.howtodoinjava.webapp.controller;
package com.company.myapplication.web.controller;
package com.google.search.common;
2. 类命名
在 Java
中,类命名一般使用名词,首字母大写的驼峰式命名:
public class ArrayList {}
public class Employee {}
public class Record {}
public class Identity {}
3. 接口命名
在 Java
中,接口命名一般使用形容词。接口名是首字母大写的驼峰式方式。在一些场景中,当接口表示一个类集合,比如List 和 Map
,也可以使用名词。
public interface Serializable {}
public interface Clonable {}
public interface Iterable {}
public interface List {}
4. 方法命名
方法应该总是使用动词。它们代表某个动作,所以方法名应该尽可能清晰表明这种状态。方法名可以由单个或者 2-3
个单词来表述这种动作。这些单词应该使用驼峰式标记法。
public Long getId() {}
public void remove(Object o) {}
public Object update(Object o) {}
public Report getReportById(Long id) {}
public Report getReportByName(String name) {}
5. 变量命名
所有的实例、静态和方法的参数变量都应该符合驼峰式标记法。它们应该简短并清晰表明他们的目的。临时变量 可以是单个字符,比如循环中的计时器。
代码语言:javascript复制public Long id;
public EmployeeDao employeeDao;
private Properties properties;
for(int i = 0; i < list.size(); i ) {
}
6. 常量命名约定
Java
常量应该是全大写的字符,多个字符之间使用 _
字符来连接。
代码语言:javascript复制请确保在常量中使用
final
修饰符。
public final String SECURITY_TOKEN = "...";
public final int INITIAL_SIZE = 16;
public final Integer MAX_SIZE = Integer.MAX;
7. 泛型命名约定
泛型参数名应该是单个大写的字符。推荐使用 T
字母。在 JDK
类中,字母 E
通常用于作为集合类中,字母 S
通常用于服务加载类中,字母 K
和 V
通常用于映射类中的键和值的类型。
public interface Map <K, V> {}
public interface List<E> extends Collection<E> {}
Iterator<E> iterator() {}
8. 枚举命名
和类常量命名相似,枚举名称应该是全大写字符。
代码语言:javascript复制enum Direction { NORTH, EAST, SOUTH, WEST }
9. 注解命名
注释命名遵循首字母大写规范。它们可以是形容词,动词或者名词,这基于它们的需求选择。
代码语言:javascript复制public @interface FunctionalInterface() {}
public @interface Deprecated {}
public @interface Documented {}
public @Async Documented {}
public @Test Documented {}
本文,我们讨论了在编写一致性代码需要遵循的 Java
中的命名规则,这会让编写的代码可读性和维护性更高。