1 poin oleh k42kr 2 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp

Java Refined adalah library yang menanamkan tipe refinement bawaan seperti NonBlankString dan PositiveInt di tempat String dan int, sehingga validasi dipindahkan ke 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 jenis tipe bawaan yang sudah didefinisikan dan bisa langsung di-import (VAVR/Arrow hanya menyediakan polanya)
  • NonEmptyList<T> mengimplementasikan List<T> secara langsung — tidak perlu unwrapping
  • Tanpa dependensi runtime · Java 8+ · MIT · Maven Central · modul ekstensi Kotlin terpisah
  • Cakupan baris 100% + skor mutasi PIT 95%
  • Sejujurnya: proyek satu orang, belum ada benchmark JMH, tidak ada bridge Jackson/@Valid

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

Belum ada komentar.

Belum ada komentar.