Java 命名约定

2023-08-13 09:45:47 浏览数 (1)

原文 - Java Naming Conventions - By Lokesh Gupta

Java 命名约定体提一种指导规范,在应用开发的过程中,程序开发者遵守这些指导规范来产出一致且易读的代码。如果团队合作中并不遵守这些规范,他们可能编写出很难读懂的应用程序代码。

Java 中广泛使用驼峰规则来命名方法,变量等,并使用首字母大写命名类和接口。

下面,我们用案例来说明这些命名规则。

1. 包命名

包命名必须是以全部小写的域名(比如:com, org, net, etc) 开始的一组单词。包名的后续部分可以根据自身的内部命名预定而有所不同。

代码语言:javascript复制
package com.howtodoinjava.webapp.controller;

package com.company.myapplication.web.controller;

package com.google.search.common;

2. 类命名

Java 中,类命名一般使用名词,首字母大写的驼峰式命名:

代码语言:javascript复制
public class ArrayList {}

public class Employee {}

public class Record {}

public class Identity {}

3. 接口命名

Java 中,接口命名一般使用形容词。接口名是首字母大写的驼峰式方式。在一些场景中,当接口表示一个类集合,比如List 和 Map,也可以使用名词

代码语言:javascript复制
public interface Serializable {}

public interface Clonable {}

public interface Iterable {}

public interface List {}

4. 方法命名

方法应该总是使用动词。它们代表某个动作,所以方法名应该尽可能清晰表明这种状态。方法名可以由单个或者 2-3 个单词来表述这种动作。这些单词应该使用驼峰式标记法。

代码语言:javascript复制
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 常量应该是全大写的字符,多个字符之间使用 _ 字符来连接。

请确保在常量中使用 final 修饰符。

代码语言:javascript复制
public final String SECURITY_TOKEN = "...";

public final int INITIAL_SIZE = 16;

public final Integer MAX_SIZE = Integer.MAX;

7. 泛型命名约定

泛型参数名应该是单个大写的字符。推荐使用 T 字母。在 JDK 类中,字母 E 通常用于作为集合类中,字母 S 通常用于服务加载类中,字母 KV 通常用于映射类中的键和值的类型。

代码语言:javascript复制
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 中的命名规则,这会让编写的代码可读性和维护性更高。

0 人点赞