Supponiamo di avere il seguente codice Java:
int i = 0;
PreparedStatement statement = con.prepareStatement("SELECT * FROM table " +
"WHERE field1 = ?, field2 = ?, field3 = ?...");
statement.set***(++i, fieldValue);
E ci sono 14 campi simili.
Quindi abbiamo un'altra istruzione preparata, ma questa volta vediamo questo:
i = 0;
PreparedStatement otherPreparedStatement = con.prepareStatement("SELECT * FROM table " +
"WHERE field1 = ?, field2 = ?, field3 = ?...")
statement.set***(++i, fieldValue);
Tutto nello stesso metodo.
Abbiamo segnalato questo come un errore incline e abbiamo raccomandato di utilizzare costanti come questo:
preparedStatement.set***(PARAMETER_X_INDEX, fieldValue);
Ora, so che avere questi molti parametri è solo sbagliato, ma non vedo un modo per rifattorizzare di usare meno.
Quali osservazioni si possono dire sul primo codice e sulla raccomandazione?