Eu tenho alguns métodos que executam algumas alterações de dados em um banco de dados (inserir, atualizar e excluir). O ORM que estou usando retorna valores int afetados por linha para esse tipo de método. O que devo retornar para "meu método", a fim de indicar o estado de sucesso / falha da operação?
Considere o código que está retornando um int
:
A.1
public int myLowerLevelMethod(int id) {
...
int affectedRows = myOrm.deleteById(id)
...
return affectedRows;
}
Então uso:
A.2
public void myOtherMethod() {
...
int affectedRows = myLowerLevelMethod(id)
if(affectedRows > 0) {
// Success
} else {
// Fail
}
}
Compare com o uso de booleano:
B.1
public boolean myLowerLevelMethod(int id) {
...
int affectedRows = myOrm.deleteById(id)
...
return affectedRows > 0;
}
Então uso:
B.2
public void myOtherMethod() {
...
boolean isSuccess = myLowerLevelMethod(id)
if(isSuccess) {
// Success
} else {
// Fail
}
}
Qual (A ou B) é melhor? Ou prós / contras de cada um?