Help us improve
Share bugs, ideas, or general feedback.
Enforces Java coding standards for Spring Boot services covering naming, immutability, Optional/streams usage, exceptions, generics, project layout, and more. Activates for code writing/review in Spring Boot projects.
npx claudepluginhub xu-xiang/everything-claude-code-zhHow this skill is triggered — by the user, by Claude, or both
Slash command
/everything-claude-code:java-coding-standardsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
适用于 Spring Boot 服务中可读、可维护的 Java (17+) 代码规范。
Provides Java 17+ coding standards for Spring Boot services covering naming, immutability, Optional usage, Streams, exceptions, generics, and project layout.
Enforces Java coding standards for Spring Boot and Quarkus services: naming, immutability, Optional, streams, exceptions, generics, CDI, reactive patterns, and project layout.
Enforces Java 17+ coding standards for Spring Boot and Quarkus services: naming, immutability, Optional, streams, exceptions, generics, CDI, reactive patterns, and project layout. Auto-detects framework from build file.
Share bugs, ideas, or general feedback.
适用于 Spring Boot 服务中可读、可维护的 Java (17+) 代码规范。
// ✅ 类/Records:大驼峰(PascalCase)
public class MarketService {}
public record Money(BigDecimal amount, Currency currency) {}
// ✅ 方法/字段:小驼峰(camelCase)
private final MarketRepository marketRepository;
public Market findBySlug(String slug) {}
// ✅ 常量:全大写蛇形(UPPER_SNAKE_CASE)
private static final int MAX_PAGE_SIZE = 100;
// ✅ 优先使用 records 和 final 字段
public record MarketDto(Long id, String name, MarketStatus status) {}
public class Market {
private final Long id;
private final String name;
// 仅提供 getter,不提供 setter
}
// ✅ find* 方法应返回 Optional
Optional<Market> market = marketRepository.findBySlug(slug);
// ✅ 使用 Map/flatMap 替代 get()
return market
.map(MarketResponse::from)
.orElseThrow(() -> new EntityNotFoundException("Market not found"));
// ✅ 使用流进行转换,保持流水线简短
List<String> names = markets.stream()
.map(Market::name)
.filter(Objects::nonNull)
.toList();
// ❌ 避免复杂的嵌套流;为了清晰起见,优先使用循环
MarketNotFoundException)catch (Exception ex),除非是在中心位置重新抛出或记录日志throw new MarketNotFoundException(slug);
public <T extends Identifiable> Map<Long, T> indexById(Collection<T> items) { ... }
src/main/java/com/example/app/
config/
controller/
service/
repository/
domain/
dto/
util/
src/main/resources/
application.yml
src/test/java/... (与 main 结构镜像)
private static final Logger log = LoggerFactory.getLogger(MarketService.class);
log.info("fetch_market slug={}", slug);
log.error("failed_fetch_market slug={}", slug, ex);
@Nullable;否则使用 @NonNull@NotNull, @NotBlank)记住:保持代码有明确意图、强类型且可观测。除非证明确有必要,否则应优先考虑可维护性,而非微优化。