Thư viện Java chuyển việc kiểm tra hợp lệ vào hệ thống kiểu (123 kiểu định nghĩa sẵn)
(github.com/JunggiKim)Java Refined là thư viện đưa các kiểu tinh chỉnh (refinement) được định nghĩa sẵn như NonBlankString, PositiveInt vào thay cho String, int, qua đó chuyển việc kiểm tra vào ngay chữ ký hàm.
// 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 kiểu định nghĩa sẵn có thể import và dùng ngay (VAVR/Arrow chỉ cung cấp mẫu)
NonEmptyList<T>trực tiếp implementList<T>— không cần unwrapping- Không có dependency runtime · Java 8+ · MIT · Maven Central · có module mở rộng riêng cho Kotlin
- Bao phủ dòng lệnh 100% + điểm mutation PIT 95%
- Nói thẳng: dự án một người, chưa có benchmark JMH, không có cầu nối cho Jackson/
@Valid
Chưa có bình luận nào.