Ho alcuni metodi che eseguono alcuni cambiamenti di dati in un database (inserire, aggiornare ed eliminare). L' ORM che sto usando restituisce valori int influenzati dalla riga per quel tipo di metodo. Cosa devo restituire per "il mio metodo", al fine di indicare lo stato di successo / fallimento dell'operazione?
Considera il codice che restituisce un int
:
A.1
public int myLowerLevelMethod(int id) {
...
int affectedRows = myOrm.deleteById(id)
...
return affectedRows;
}
Quindi utilizzo:
A.2
public void myOtherMethod() {
...
int affectedRows = myLowerLevelMethod(id)
if(affectedRows > 0) {
// Success
} else {
// Fail
}
}
Confronta con l'uso booleano:
B.1
public boolean myLowerLevelMethod(int id) {
...
int affectedRows = myOrm.deleteById(id)
...
return affectedRows > 0;
}
Quindi utilizzo:
B.2
public void myOtherMethod() {
...
boolean isSuccess = myLowerLevelMethod(id)
if(isSuccess) {
// Success
} else {
// Fail
}
}
Quale (A o B) è meglio? O pro / contro di ciascuno?