Dì che hai un'applicazione web che stampa pagine in un documento. Supponiamo che dopo aver convalidato l'intervallo di pagine, l'applicazione esegua le seguenti operazioni:
-
Se è attivata un'opzione di fatturazione, prima controlla con il server per confermare la stampa.
-
Dopo aver confermato la stampa (o senza fare nulla se l'opzione di fatturazione non è attivata), stampa le pagine.
Per supportare l'attivazione e la disattivazione della fatturazione, il codice ha un aspetto simile al seguente:
function printPages (...) {
if (billing) {
confirmPrintWithServer(..., function () {
printPagesInternal(...);
});
} else {
printPagesInternal(...);
}
}
Se la chiamata per verificare la stampa era sincrona, questo non sarebbe davvero un problema. Quindi sarebbe simile a questo:
function printPages (...) {
if (billing) {
if (!confirmPrintWithServer(...)) return;
}
// continue with rest of printPages
}
Quello che è andato in un "printPagesInternal" nel primo caso sarebbe semplicemente il resto di printPages nel caso sincrono.
C'è un modo migliore per nominare queste due cose che aggiungere "Interno" o qualcosa di simile alla fine di quello che il chiamante del codice non vede? Se avessimo più livelli di controllo, dovremmo fare "InternalInternal"? La situazione di "più livelli di controlli" non sta per accadere, quindi aggiungere "Interno" è in realtà la soluzione giusta?