J'ai quelques méthodes qui effectuent certaines modifications de données dans une base de données (insérer, mettre à jour et supprimer). L' ORM que j'utilise renvoie des valeurs int affectées par les lignes pour ce type de méthode. Que dois-je retourner pour "ma méthode", afin d'indiquer l'état de réussite / d'échec de l'opération?
Considérez le code qui renvoie un int
:
A.1
public int myLowerLevelMethod(int id) {
...
int affectedRows = myOrm.deleteById(id)
...
return affectedRows;
}
Puis utilisation:
A.2
public void myOtherMethod() {
...
int affectedRows = myLowerLevelMethod(id)
if(affectedRows > 0) {
// Success
} else {
// Fail
}
}
Comparez avec l'utilisation de booléen:
B.1
public boolean myLowerLevelMethod(int id) {
...
int affectedRows = myOrm.deleteById(id)
...
return affectedRows > 0;
}
Puis utilisation:
B.2
public void myOtherMethod() {
...
boolean isSuccess = myLowerLevelMethod(id)
if(isSuccess) {
// Success
} else {
// Fail
}
}
Lequel (A ou B) est le meilleur? Ou les avantages / inconvénients de chacun?