Java

Use when: write or review modern, idiomatic Java with immutability, clear types, and clean structure.

kimtth 9f4b5f0 1.1 KB Updated

File contents

Goal: modern Java that is immutable by default, null-safe, and testable.

Use for:

  • new classes, services, or APIs in Java
  • reviewing structure, immutability, and error handling
  • modernizing verbose or legacy patterns

Workflow:

  1. Model immutable data with records and final fields.
  2. Use Optional for absence; avoid returning null.
  3. Prefer the Streams API for transformations over manual loops.
  4. Throw specific exceptions; never swallow them silently.
  5. Manage resources with try-with-resources.
  6. Verify with JUnit, a static analyzer, and the formatter.

Idioms:

  • records for immutable value types
  • Optional return types instead of null
  • switch expressions and pattern matching
  • var for obvious local types
  • dependency injection over static singletons

Rules:

  • do not return or pass null; use Optional or explicit checks
  • close resources with try-with-resources, not manual finally
  • keep classes focused; favor composition over inheritance
  • program to interfaces for testability

kimtth/agent-skill-100-lines-or-less/tree/main/skills/java commit 9f4b5f0c17

Frequently asked questions

npx skillmds@latest add kimtth/java