1 points par k42kr 2026-05-19 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Java Refined est une bibliothèque qui remplace String et int par des types de raffinement prédéfinis comme NonBlankString et PositiveInt, afin de déplacer la validation dans la signature.

// Before  
void createUser(String name, int age, List<String> roles) {  
    if (name == null || name.isBlank()) throw new IAE("name");  
    if (age <= 0) throw new IAE("age");  
    if (roles == null || roles.isEmpty()) throw new IAE("roles");  
}  
  
// After  
void createUser(NonBlankString name, PositiveInt age, NonEmptyList<String> roles) { }  
  • 123 types prédéfinis, utilisables immédiatement via import (VAVR/Arrow ne fournissent que le pattern)
  • NonEmptyList<T> implémente directement List<T> — pas besoin de déballage
  • Aucune dépendance runtime · Java 8+ · MIT · Maven Central · module d’extension Kotlin séparé
  • 100 % de couverture de lignes + score de mutation PIT de 95 %
  • En toute franchise : projet mené seul, pas de benchmark JMH, pas de pont Jackson/@Valid

GitHub: https://github.com/JunggiKim/java-refined

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.