141-java-refactoring-with-modern-features logo

141-java-refactoring-with-modern-features

141 java refactoring with modern features

SKILL.md

Full skill instructions

Modern Java Development Guidelines (Java 8+)

Identify and apply modern Java (Java 8+) refactoring opportunities to improve readability, maintainability, and performance.

What is covered in this Skill?

  • Lambda expressions and method references (over anonymous classes)
  • Stream API for declarative collection processing
  • Optional for null-safe APIs
  • java.time API (replacing Date/Calendar)
  • Default interface methods, var type inference
  • Unmodifiable collection factory methods (List.of(), Set.of(), Map.of())
  • Text blocks for multi-line strings
  • Java 25 Flexible Constructor Bodies (JEP 513)
  • Java 25 Module Import Declarations (JEP 511)

Scope: The reference is organized by examples (good/bad code patterns) for each core area. Apply recommendations based on applicable examples.

Constraints

Before applying any modern Java refactoring, ensure the project compiles. If compilation fails, stop immediately — do not proceed until the project compiles successfully. After applying improvements, run full verification.

  • MANDATORY: Run ./mvnw compile or mvn compile before applying any changes
  • SAFETY: If compilation fails, stop immediately — do not proceed until the project compiles successfully
  • VERIFY: Run ./mvnw clean verify or mvn clean verify after applying improvements
  • BEFORE APPLYING: Read the reference for detailed good/bad examples, constraints, and safeguards for each modern Java feature
  • EDGE CASE: If request scope is ambiguous, stop and ask a clarifying question before applying changes
  • EDGE CASE: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance

When to use this skill

  • Review Java code for modern Java development
  • Apply best practices for modern Java development in Java code
  • Modernize Java code with records pattern matching or switch expressions
  • Replace legacy idioms with modern Java features
  • Adopt Java 8+ language features safely

Workflow

  1. Compile project before modernization

Run ./mvnw compile or mvn compile and stop immediately if compilation fails.

  1. Read modern-Java reference and identify candidates

Read references/141-java-refactoring-with-modern-features.md and identify high-value opportunities to adopt modern Java features.

  1. Apply modern Java refactorings

Refactor incrementally using appropriate language/library features while preserving behavior and readability.

  1. Verify with full build

Run ./mvnw clean verify or mvn clean verify after applying improvements.

Reference

For detailed guidance, examples, and constraints, see references/141-java-refactoring-with-modern-features.md.