Ho una funzione evaluate()
che analizza un String
per alcune variabili e le sostituisce con il valore corrispondente:
public String evaluate() {
String result = templateText;
for (Entry<String, String> entry : variables.entrySet()) {
String regex = "\$\{" + entry.getKey() + "\}";
result = result.replaceAll(regex, entry.getValue());
}
if (result.matches(".*\$\{.+\}.*")) { //<--check if a variable wasn't replaced
throw new MissingValueException();
}
return result;
}
Poiché la funzione evaluate()
ora fa 2 cose, prima sostituisce le variabili con i valori AND controlla eventuali variabili che non sono state sostituite, ho pensato di rifarlo a:
public String evaluate() {
String result = templateText;
for (Entry<String, String> entry : variables.entrySet()) {
String regex = "\$\{" + entry.getKey() + "\}";
result = result.replaceAll(regex, entry.getValue());
}
checkForMissingValues(result);
}
private void checkForMissingValues(String result) {
if (result.matches(".*\$\{.+\}.*")) {
throw new MissingValueException();
}
}
Questo è un buon nome per la funzione checkForMissingValues
? Voglio dire controlla i valori mancanti, ma genera anche un'eccezione.
Ho pensato di rinominarlo in throwExceptionIfMissingValueWasFound()
, ma questo nome dice a COME la funzione lo fa più di CHE COSA sta facendo la funzione.
Esiste uno standard per denominare tali funzioni che verificano una condizione quindi genera un'eccezione?