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