1 points par k42kr 2 시간 전 | 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 qu’un modèle)
  • 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 solo, pas de benchmark JMH, pas de passerelle Jackson/@Valid

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

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.