Il "problema" che sto avendo adesso è piuttosto semplice, sto creando un codice con MOLTE convalide, nel caso in cui uno di questi fallisca dovrebbe generare un'eccezione.
Per rendere espliciti i messaggi in favore della descrizione del motivo dell'eccezione, devo scrivere una quantità "considerevole" di testo. Questo non sarebbe un problema se ci fossero solo un paio di eccezioni, ma ora sono in rotta diretta per finire con un file con più testo (per i messaggi di eccezione) rispetto al codice.
Mi piacerebbe avere alcuni suggerimenti / alternative per mettere tutto quel testo fuori dal mio codice (stavo pensando di averlo nelle variabili nella parte superiore del file ma non è molto intelligente "memoriwise-able" parlando).
Esempio
if (operator.isBitwiseOperator()) {
// >>=, <<=, &=, |=, ^=
if (!(IntegerStmt.isAnIntegerAsignableClass(fstOpClass)
&& IntegerStmt.isAnIntegerAsignableClass(sndOpClass))) {
if ((operator.equals(Operator.AND_ASSIGN)
|| operator.equals(Operator.OR_ASSIGN)
|| operator.equals(Operator.XOR_ASSIGN))
&& !(LogicalInfo.isBoolean(fstOpClass)
&& LogicalInfo.isBoolean(sndOpClass))) {
throw new UnsupportedOperationException(
"In order to use a bitwise logical assign "
+ "operator (&=, |=, ^=) it is "
+ "necessary booth operands to be "
+ "either an integer assignable type "
+ INTEGER_ASSIGNABLE_VALUES
+ " or a logical boolean value "
+ "(b/Boolean)");
} else {
throw new UnsupportedOperationException(
"In order to use a bitwise assign operator it is "
+ "necessary booth operands to be an "
+ "integer assignable type "
+ INTEGER_ASSIGNABLE_VALUES);
}
}
}
Ora, come quell'esempio che mostra che ho "alcune" eccezioni che considero non terribilmente lunghe, ne ho molte, quindi da una goccia all'altra sto riempiendo il bicchiere: / ...