Sai la legge del minimo stupore? Non sono sicuro della sua origine, ma prima ho imparato da l’eccezionale “Tao della Programmazione.” in poche parole, è il principio che il software deve sempre rispondere agli utenti in un modo che meno stupisce loro. In altre parole, la stampa di una carta non deve cancellare dal file system.
A seguito della legge del minimo stupore, che cosa deve fare un programma quando colpisce un errore hardware? Si potrebbe dire che si deve far conoscere all’utente. Purtroppo, un sacco di sistemi di poco spazzolare sotto il tappeto in questi giorni.
Penso che sia iniziato con Windows. O forse il Mac. Il pensiero va che gli utenti finali sono troppo stupido o troppo terrorizzati di codici di errore o di approfondimento messaggi in modo ci sono solo loro lasciando fuori. Caso in questione: iphone di mia moglie non avrebbe pubblicato le immagini. Non sono un esperto se si considera che io porto un dispositivo Android, ma ho accettato di vedere le cose. Non importa quello che ho provato, ho ottenuto lo stesso messaggio inutile: “Non è possibile pubblicare le foto ideale ora. Per favore riprova più tardi.” Non solo questo non è molto informativo, ma implica anche il problema è in qualcosa che potrebbe fissarsi successivamente come la rete.
Il vero colpevole? I termini del servizio iCloud erano cambiate e che non avevano accettato il nuovo contratto. Ho la sensazione che avrebbe potuto spuntato chiedendole di fare che a un certo punto, ma per qualsiasi motivo ha perso. fino a quando hai scavato nelle impostazioni e selezionato la casella per accettare questi termini, “più avanti” è stato non accadrà mai.
Ma non è solo iPhone. Windows è pieno di cose del genere e spero solo ci sarà un registro al cliente evento con dettagli molto di più. Vedo anche molto di più di ora su Linux, anche se v’è normalmente un qualche file di log se sai come trovarlo. Mentre ho capito che i programmi che hanno errori corrono il rischio di stupire l’utente, è ancora molto più sorprendente se non c’è alcuna spiegazione di ciò che è sbagliato. immaginate se la tua banca ti ha inviato una nota: c’è un problema con il tuo account. Così si risponde: “Ti ho overdraw?” Loro rispondono: “No” ora che cosa? Questo è lo stato di un sacco di errori di software di oggi.
Non c’è davvero nessuna scusa su sistemi desktop o siti web. Tuttavia, si potrebbe desiderare di perdonare i sistemi embedded piccoli. Non farlo! Recentemente ho portato il firmware della stampante 3D Marlin ad una scheda ANET A8 – un processore a 8 bit con poca memoria – che era stato sul firmware Repetier per un sacco di anni. La prima volta che ho cercato di fare una sonda autolevel ho ricevuto il messaggio: Sondaggio fallito. Questo è tutto.
Te lo concedo, che è possibile attivare il debug autolevel per ottenere molte più informazioni, ma sono già in utilizzo del flash al 98%, in modo che richiederebbe la rimozione temporanea di un sacco di caratteristiche e ricostruire il codice. ma perché non fare come faremmo ai vecchi tempi:
Unità global_error = 0;
fa_qualcosa void (void) {
global_error = 1;
if (process1) == FAIL () return;
global_error ++;
if (process2) == FAIL () return;
. . .
global_error = 0;
Restituzione;
}
Questo non prende molto spazio. ora è possibile segnalare qualcosa di simile Tastatura fallito (8) e posso almeno andare al codice e capire che cosa l’8 ° passo è stato che non è riuscita. Sono sicuro che qualcuno avrebbe anche inviare un elenco di codici e ciò che hanno indicato in un caso del genere.
Troppo in alto? dimmi il contatore di programma in cui l’errore è accaduto. Quello usato per essere una pratica piuttosto comune. Certo, richiede di avere un file di mappa di memoria e saper leggere, ma è comunque meglio di niente.
Spendiamo un sacco di tempo a pensare a come i progetti e mosto software di lavoro. ma abbiamo bisogno di spendere tempo a pensare, anche, su ciò che accade quando non funzionano. E ‘bene che possiamo fare il debug in circuito o collegare un analizzatore logico, ma che non aiuterà i nostri utenti. anche se è solo per te, perché non fare un po ‘molto più facile su te stesso?
Come abbiamo detto prima, “Non c’è cosa come troppe informazioni.” Oltre a guardia contro gli errori di sistema, si può anche aiutare gli utenti non stupire se stessi.
Immagine di credito: [Elisa Ventur] per mezzo di Unsplash.com