
Obbiettivo
Produrre un applicazione che prende in input autore, titolo e anno di un brano musicale e che sappia inviare a un ricevitore dotato di display a 8 caratteri il testo suddiviso in parti. Le emittenti che usano questa tecnica, lasciano il testo per alcuni secondi prima di passare al successivo. Ignoriamo il tempo che passa usando il metodo RadioStation.sendNextTextOn(RadioReceiver) che a ogni chiamata visualizza il testo successivo.
Requisiti
- quando non c'è un brano musicale viene inviato al display il nome della radio: "SIAgile "
- dopo aver inviato autore, brano e anno si invia di nuovo il nome della radio
- le parole più lunghe di 8 caratteri vengono inviate per intero (alcuni display possono avere più di 8 caratteri)
- se la somma di due parole consecutive più lo spazio è minore o uguale a 8 il testo viene inviato in un colpo solo, ad esempio "Il cielo" o "Io e te "
- la regola della somma delle parole vale separatamente per autore, titolo e anno. Non si vedrà mai "Io 2009 "
- il testo visualizzato è sempre centrato, ad esempio " Domani " o " Adesso ". Per testi con numero di caratteri dispari ci sarà uno spazio in più a destra.
Nel prossimo post una mia soluzione in Java che utilizzerò come confronto per la Milestone One. Chi volesse partecipare e proporre soluzioni in qualunque linguaggio (anche Java) è il benvenuto.
kata interessante.
RispondiEliminaPerché hai cambiato idea?
Avevi detto che l'avresti voluto farlo in python!
;-)
Ecco una possibile realizzazione del Kata:
RispondiEliminahttp://www.francolombardo.net/rds-kata_post-90.html
Ciao
Franco
Simpatico contributo, Franco.
RispondiEliminaPotresti allegare anche i test con cui l'hai esercitato? Così farne un refactoring per ridurre la complessità ciclomatica diventa più sicura e semplice.