Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Test Segreti

IvanC (960 points)
8 13 19
in HW2 obbligatorio by (960 points)
Ciao ragazzi, io ho consegnato l' HW2 obbligatorio, poi mi è sorto un dubbio riguardo ai test segreti che verranno eseguiti, quindi solo per una delucidazione: ma sarebbe il caso di implementare nel codice dei 'checks' per controllare eventuali errori  nei dati che verranno forniti al programma  o altre cose del genere ? (spero di essermi spiegato)..:)
624 views

4 Answers

fc-dev (16450 points)
16 20 34
by (16.5k points)
Non credo ci siano input non validi nei test segreti...
Da quel che ho capito il senso dei test segreti è semplicemente non farci sfruttare il fatto di avere i test per barare, ma non dovrebbero essere troppo più difficili dei test normali.
Anche perché il testo dell'esercizio specifica chiaramente qual'è l'input della funzione, quindi se la funzione si comporta in modo imprevisto a seguito di degli input errati non è colpa della funzione ma di chi ha dato input non validi.
IvanC (960 points)
8 13 19
by (960 points)
Anche io la penso così, però ad esempio se il test fornisse una lista vuota? Oppure, un carattere maiuscolo ?  ..il programma non dovrebbe trovarsi pronto per rispondere ad una determinata situazione ?.. E' solo un dubbio che mi è sorto, non so nemmeno se potevo porre questa domanda, speriamo sia come dici tu :)
fc-dev (16450 points)
16 20 34
by (16.5k points)
A rigor di logica se il test fornisce una lista vuota di operazioni semplicemente devi ridargli gli stessi piloti che ti ha dato.

Ma se ad esempio la E è maiuscola non vedo come sia colpa del tuo programma quando le specifiche dicevano in modo chiaro che la e era minuscola.

È un po' come se usi una funzione per parsare file JSON e gli dai un file XML.
Non è colpa della funzione se crasha il programma; è colpa di chi gli ha dato un file XML.
Christian (15220 points)
3 4 77
by (15.2k points)
Secondo me dovremmo dividere l'argomento homework dall'argomento lavorativo.

Per quanto riguarda gli homework ho riportato in basso la risposta del professore riguardo la validazione degli input (e cioè che per ora non serve), ma in ambito lavorativo spetterebbe al tuo programma gestire eventuali eccezioni derivate da input non ammessi.

Infatti solitamente prima di iniziare con la logica di business si effettua una validazione dei parametri ricevuti..
Christian (15220 points)
3 4 77
by (15.2k points)

Ciao, ti riporto la discussione dove si è affrontato il discorso (che a sua volta ne referenzia un'altra).

IvanC (960 points)
8 13 19
by (960 points)
Perfetto, grazie:)
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
Aggiungo che non sono pensati x stressare i timeout. Saranno di media complessità
plm (18850 points)
13 15 118
by (18.9k points)
Gli input sono tutti validi e non sono ne molto semplici tipo i primi esempi, ne tanto grandi come gli ultimi, per cui dovresti riuscire a mantenere il voto attuale senza problemi, l'importante è che il tuo algoritmo non sia basato sui test, ma su un implementazione di un codice che possa risolvere in maniera generale il problema proposto