java-best-practices

Installation
SKILL.md

Java Best Practices

Priority: P1 (HIGH)

Core engineering principles for robust, maintainable Java systems.

Implementation Guidelines

  • Immutability: Prefer immutable objects (final fields, unmodifiable collections).
  • Access Modifiers: Minimize visibility. Default to package-private (no modifier). Use private for all fields. Only public for API contracts.
  • Composition > Inheritance: Favor Has-A over Is-A. Avoid deep hierarchies.
  • Constructors: Use Static Factory Methods (User.of()) over complex constructors.
  • Builder Pattern: Use for objects with 4+ parameters.
  • Exceptions: Recoverable → Checked; Programming error → Unchecked.
  • Fail Fast: Validate parameters (Objects.requireNonNull) at the method start.
  • Interfaces: Code to interfaces (List, Map), not implementations (ArrayList).
  • Dependency Injection: Inject dependencies via constructor; don't create them internally.
  • Method References: Use String::toUpperCase over s -> s.toUpperCase() where readable.

Anti-Patterns

  • No Null Returns: Return Optional or empty collection instead.
  • No Empty Catch: Log or rethrow; never swallow exceptions silently.
  • No God Class: Split into focused classes following Single Responsibility Principle.
  • No Magic Numbers: Extract named constants with clear meaning.
  • No Mutable Statics: Avoid public static mutable fields (global state).

References

Related skills
Installs
1
GitHub Stars
483
First Seen
Apr 1, 2026