Identify and apply data-oriented programming best practices in Java to improve code clarity, maintainability, and predictability by strictly separating data structures from behavior and ensuring all data transformations are explicit, pure, and traceable.
Core areas: Records for immutable data carriers over mutable POJOs, data-behavior separation with pure static utility classes holding operations, pure functions for data transformation that depend only on inputs and produce no side effects, flat denormalized data structures with ID-based references over deep nesting, generic Map representations for dynamic schemas converted to specific types when needed, Optional...
Prerequisites: Run ./mvnw compile before applying any changes. If compilation fails, stop immediately — do not proceed until the project compiles successfully.
Da utilizzare quando è necessario applicare le migliori pratiche di programmazione orientata ai dati in Java, tra cui la separazione del codice (comportamento) dalle strutture dati tramite record, la progettazione di dati immutabili con funzioni di trasformazione pura, il mantenimento di dati piatti e denormalizzati con riferimenti basati su ID, la conversione di strutture di dati generiche in tipi specifici quando necessario, la garanzia dell'integrità dei dati tramite funzioni di convalida pure e la creazione di livelli flessibili di accesso ai dati generici. Parte del progetto skills-for-java Fonte: jabrena/cursor-rules-java.