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?