Agent SkillsTaoidle/plan-cascade › java-best-practices

java-best-practices

GitHub

提供Java 17+编码最佳实践,涵盖代码风格、现代特性(记录类、密封类)、错误处理、项目结构及测试规范。用于编写或审查Java代码时参考。

builtin-skills/java/SKILL.md Taoidle/plan-cascade

触发场景

编写Java代码 审查Java代码 询问Java最佳实践

安装

npx skills add Taoidle/plan-cascade --skill java-best-practices -g -y
更多选项

非标准路径

npx skills add https://github.com/Taoidle/plan-cascade/tree/master/builtin-skills/java -g -y

不安装直接使用

npx skills use Taoidle/plan-cascade@java-best-practices

指定 Agent (Claude Code)

npx skills add Taoidle/plan-cascade --skill java-best-practices -a claude-code -g -y

安装 repo 全部 skill

npx skills add Taoidle/plan-cascade --all -g -y

预览 repo 内 skill

npx skills add Taoidle/plan-cascade --list

SKILL.md

Frontmatter
{
    "name": "java-best-practices",
    "license": "MIT",
    "metadata": {
        "author": "plan-cascade",
        "version": "1.0.0"
    },
    "description": "Java coding best practices. Use when writing or reviewing Java code (17+). Covers modern features, error handling, and patterns."
}

Java Best Practices (17+)

Code Style

Rule Guideline
Formatter google-java-format
Analysis SpotBugs, Error Prone
Naming Clear, no abbreviations

Modern Features

Feature Usage
Records Immutable data carriers
Sealed classes Restricted hierarchies
Pattern matching instanceof with binding
var Local type inference
public record User(String id, String name) {}

if (obj instanceof String s && !s.isEmpty()) { process(s); }

public sealed interface Result<T> permits Success, Failure {}
record Success<T>(T value) implements Result<T> {}
record Failure<T>(Exception error) implements Result<T> {}

Error Handling

Rule Guideline
Specific exceptions Not bare Exception
Try-with-resources For AutoCloseable
try (var reader = new BufferedReader(new FileReader(path))) {
    return reader.lines().toList();
} catch (IOException e) {
    throw new ConfigException("Failed: " + path, e);
}

Project Structure

src/main/java/com/example/{domain,service}/
src/test/java/
pom.xml or build.gradle

Common Patterns

Pattern Usage
Optional Null-safe returns
Stream API Functional collections
Builder Complex construction
public Optional<User> findById(String id) {
    return Optional.ofNullable(users.get(id));
}

Anti-Patterns

Avoid Use Instead
Returning null Optional<T>
Mutable data Records
instanceof chains Pattern matching

Testing (JUnit 5 + AssertJ)

@Test void shouldProcess() {
    var service = new Service(mockRepo);
    var result = service.process(input);
    assertThat(result.status()).isEqualTo(SUCCESS);
}

版本历史

  • 5223f82 当前 2026-07-19 09:26

同 Skill 集合

builtin-skills/go/SKILL.md
builtin-skills/python/SKILL.md
builtin-skills/typescript/SKILL.md
skills/hybrid-ralph/SKILL.md
skills/mega-plan/SKILL.md
skills/planning-with-files/SKILL.md

元信息

文件数
0
版本
5223f82
Hash
d79ec798
收录时间
2026-07-19 09:26

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-23 12:39
浙ICP备14020137号-1 $访客地图$