$ loading_
为 Spring Boot 项目提供 Java 编码规范建议,统一命名、异常与结构实践。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "java-coding-standards" 技能: 1. 下载 https://raw.githubusercontent.com/affaan-m/ECC/main/docs/ja-JP/skills/java-coding-standards/SKILL.md 2. 保存为 ~/.claude/skills/java-coding-standards/SKILL.md 3. 装好后重载技能,告诉我可以用了
请根据 Spring Boot Java 编码标准审查以下服务层代码,重点检查命名、不变性、Optional、异常处理和泛型使用,并给出修改建议与示例。
一份结构化代码审查结果,指出不规范之处并附带改进后的示例代码。
请为 Spring Boot 团队整理一份 Java 编码规范,涵盖命名约定、流式处理、异常策略、Optional 使用、泛型规则和项目目录结构,要求适合团队内部文档。
一份可直接用于团队协作的编码规范文档草案,条目清晰、便于落地执行。
请按照 Spring Boot Java 编码规范重构下面的旧代码,优化命名、减少可变状态、改进异常处理,并在适合的地方使用 Optional 和 Stream。
重构后的代码版本,并说明每项修改对应的规范依据与收益。
Spring Bootサービスにおける読みやすく保守可能なJava(17+)コードの標準。
// PASS: クラス/レコード: PascalCase
public class MarketService {}
public record Money(BigDecimal amount, Currency currency) {}
// PASS: メソッド/フィールド: camelCase
private final MarketRepository marketRepository;
public Market findBySlug(String slug) {}
// PASS: 定数: UPPER_SNAKE_CASE
private static final int MAX_PAGE_SIZE = 100;
// PASS: recordとfinalフィールドを優先
public record MarketDto(Long id, String name, MarketStatus status) {}
public class Market {
private final Long id;
private final String name;
// getterのみ、setterなし
}
// PASS: find*メソッドからOptionalを返す
Optional<Market> market = marketRepository.findBySlug(slug);
// PASS: get()の代わりにmap/flatMapを使用
return market
.map(MarketResponse::from)
.orElseThrow(() -> new EntityNotFoundException("Market not found"));
// PASS: 変換にストリームを使用し、パイプラインを短く保つ
List<String> names = markets.stream()
.map(Market::name)
.filter(Objects::nonNull)
.toList();
// FAIL: 複雑なネストされたストリームを避ける; 明確性のためにループを優先
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)を使用覚えておく: コードを意図的、型付き、観察可能に保つ。必要性が証明されない限り、マイクロ最適化よりも保守性を最適化します。
帮助开发者为代码代理配置性能优化、安全防护与研究优先工作流。
提供数据库迁移、回滚与零停机发布的最佳实践指导,适用于多种 ORM 与 SQL 数据库。
通过双评审智能体对结果进行对抗式校验,提升输出发布前的可靠性
帮助你掌握地道 Rust 模式、所有权与并发实践,编写安全高性能应用。
基于 C++ Core Guidelines 编写、审查并重构更安全现代的 C++ 代码。
为 Claude Code 会话提供系统化校验流程,帮助检查结果正确性与质量。
为 Spring Boot 与 Quarkus 服务生成并统一应用 Java 编码规范。
帮助你规划与实现 Spring Boot 后端架构、接口与常用工程模式。
帮助你设计与优化 Spring Boot 后端架构、接口与服务实现。
提供 Spring Boot 服务认证授权与安全加固最佳实践建议。
为 Spring Boot 服务提供认证鉴权、CSRF、防护头与依赖安全最佳实践
帮助用户设计和实现 Spring Boot 后端架构、REST API 与常见工程模式。