Tôi có một số phương thức thực hiện một số thay đổi dữ liệu trong cơ sở dữ liệu (chèn, cập nhật và xóa). Các ORM Tôi đang sử dụng giá trị int trở lại hàng bị ảnh hưởng đối với những loại phương pháp. Tôi nên trả lại cái gì cho "phương pháp của tôi", để chỉ ra trạng thái thành công / thất bại của hoạt động?
Hãy xem xét mã đang trả về một int
:
A.1
public int myLowerLevelMethod(int id) {
...
int affectedRows = myOrm.deleteById(id)
...
return affectedRows;
}
Sau đó sử dụng:
A.2
public void myOtherMethod() {
...
int affectedRows = myLowerLevelMethod(id)
if(affectedRows > 0) {
// Success
} else {
// Fail
}
}
So sánh với việc sử dụng boolean:
B.1
public boolean myLowerLevelMethod(int id) {
...
int affectedRows = myOrm.deleteById(id)
...
return affectedRows > 0;
}
Sau đó sử dụng:
B.2
public void myOtherMethod() {
...
boolean isSuccess = myLowerLevelMethod(id)
if(isSuccess) {
// Success
} else {
// Fail
}
}
Cái nào (A hoặc B) là tốt hơn? Hoặc ưu / nhược điểm của từng?