java-best-practices
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseJava 最佳实践技能包
Java 最佳实践技能包
编码规范
编码规范
命名规范
命名规范
- 类名:PascalCase(UserService)
- 方法/变量:camelCase(getUserById)
- 常量:UPPER_SNAKE_CASE(MAX_SIZE)
- 包名:小写(com.example.service)
- 类名:PascalCase(UserService)
- 方法/变量:camelCase(getUserById)
- 常量:UPPER_SNAKE_CASE(MAX_SIZE)
- 包名:小写(com.example.service)
常用设计模式
常用设计模式
单例模式(枚举实现):
java
public enum Singleton {
INSTANCE;
public void doSomething() {}
}工厂模式:
java
public class UserFactory {
public static User createUser(String type) {
return switch (type) {
case "admin" -> new AdminUser();
case "guest" -> new GuestUser();
default -> new RegularUser();
};
}
}Builder 模式:
java
User user = User.builder()
.name("张三")
.age(25)
.build();单例模式(枚举实现):
java
public enum Singleton {
INSTANCE;
public void doSomething() {}
}工厂模式:
java
public class UserFactory {
public static User createUser(String type) {
return switch (type) {
case "admin" -> new AdminUser();
case "guest" -> new GuestUser();
default -> new RegularUser();
};
}
}Builder 模式:
java
User user = User.builder()
.name("张三")
.age(25)
.build();Stream API
Stream API
java
List<String> names = users.stream()
.filter(u -> u.getAge() > 18)
.map(User::getName)
.collect(Collectors.toList());java
List<String> names = users.stream()
.filter(u -> u.getAge() > 18)
.map(User::getName)
.collect(Collectors.toList());异常处理
异常处理
java
try {
// 业务逻辑
} catch (SpecificException e) {
log.error("Error: {}", e.getMessage(), e);
throw new BusinessException("操作失败");
} finally {
// 清理资源
}java
try {
// 业务逻辑
} catch (SpecificException e) {
log.error("Error: {}", e.getMessage(), e);
throw new BusinessException("操作失败");
} finally {
// 清理资源
}并发编程
并发编程
java
ExecutorService executor = Executors.newFixedThreadPool(10);
executor.submit(() -> {
// 异步任务
});java
ExecutorService executor = Executors.newFixedThreadPool(10);
executor.submit(() -> {
// 异步任务
});Optional 使用
Optional 使用
java
Optional<User> user = userRepository.findById(id);
return user.orElseThrow(() -> new NotFoundException());java
Optional<User> user = userRepository.findById(id);
return user.orElseThrow(() -> new NotFoundException());