Immagina un gioco che ha bisogno di segnare le parole. Una parola deve essere valutata immediatamente, in una lista di parole o anche in una lista di parole dalla lista dei giocatori.
Ho creato un modulo di punteggio che ha i seguenti metodi pubblici:
-
score_single_word(word) -> int
-
score_list_of_words(list) -> int
-
score_group_of_players(players) -> [int]
Ovviamente questi metodi procedono a cascata, quindi score_group_of_players
esegue qualche calcolo e chiama score_list_of_words
infine chiama score_single_word
.
Sfortunatamente, ogni metodo richiede la pulizia, in modo tale che le parole siano minuscole, prive di spazio bianco e uniche. Altrimenti il loro compito di rispetto fallirebbe. Non ho visto un altro modo, ma ripulendolo più volte, poiché nessuno dei due metodi può essere sicuro che le sue ipotesi siano soddisfatte prima da uno dei metodi più avanzati.
Che cosa posso fare per rimuovere quegli inutili clean up assicurandoti che le ipotesi siano ancora corrette?