Si verdadero significa éxito, entonces es bueno, código claro.
Existe una convención generalizada de que una función o método devuelve verdadero (o algo que se evalúa como verdadero) en caso de éxito. Mientras su código siga eso, creo que poner el método en condicional está bien.
Un código como este está innecesariamente desordenado en mi opinión:
boolean frobulate_succeeded = thing.frobulate();
if (frobulate_succeeded) {
...
}
Se siente como si te estuvieras repitiendo.
Sin embargo, la pregunta es ambigua sobre el significado del valor de retorno. Usted dice "un valor booleano que indica si el elemento agregado ya existía", lo que podría implicar que verdadero significa que el elemento existió (y no se produjo la suma). Si ese es el caso, idealmente cambiaría el comportamiento de retorno del método para que sea más convencional. Si eso no es posible, agregaría una variable intermedia adicional que le permite etiquetar claramente el resultado de retorno en su código (como lo sugieren otros).
java.util.Set
, que devuelve verdaderoadd
cuando el elemento ya no estaba allí, ¿verdad?