Domanda

Mentre utilizzo il Web, ricevo regolarmente errori di runtime (di solito javascript) che vengono segnalati tramite i popup. Questo può rendere l'esperienza utente davvero insoddisfacente su molti siti Web altrimenti eccellenti e mi fa anche domandare a quale funzionalità non sto accedendo.

Perché è un problema così comune? Ciò dipende da una mancanza di test o da problemi di compatibilità del browser? Cosa si può fare per ridurre al minimo questo tipo di problema?

Per inciso, non ho selezionato "Visualizza una notifica per ogni errore di script".

È stato utile?

Soluzione

È una serie di problemi.

  1. Molti creatori di pagine Web copiano e incollano codice JavaScript dal Web. Non sono programmatori e potrebbero non apprezzare le sfumature della lingua.
  2. Mancanza di buoni framework di test (almeno non ne conosco nessuno). Per Java abbiamo JUNIT e .NET NUNIT ecc. Al momento è difficile automatizzare i test JavaScript.
  3. Supporto IDE scadente. Fino a poco tempo fa la maggior parte degli IDE ha svolto un lavoro scadente supportando JavaScript. Ora vedo più supporto, ma non ancora il tipo che ottieni per le lingue principali.

Altri suggerimenti

L'ho messo per mancanza di test.

È facile commettere errori in JavaScript. Fino a poco tempo fa con Aptana non c'erano molti buoni strumenti per codificare JavaScript. Non ha il vantaggio di controllare o compilare la sintassi, un piccolo errore di battitura può trasformarlo in pagine. Oltre a ciò, ci sono momenti in cui il codice che funziona bene in un browser causerà un errore in un altro. Ad esempio, ho visto un plug-in jQuery che non funzionava in Internet Explorer, ma andava bene in tutti gli altri browser. Si è rivelata una variabile dichiarata senza la parola chiave "var". Firefox e Safari erano d'accordo, IE no, quindi è possibile che chiunque abbia scritto il codice non sapesse nemmeno che si trattava di un problema.

Sì, il problema è in genere test. La maggior parte degli sviluppatori seri proverà a testare la propria pagina Web in molti browser, ma ci sono davvero molti browser e versioni, quindi non puoi davvero testarli tutti.

Di solito collaudo quando progetto usando Opera e Firefox, e il mio collega che ha usato un Mac lo ha provato anche su Safari; quindi di tanto in tanto avvia un box Vista (sto eseguendo Linux e IE per Linux non è affidabile per copiare tutti i comportamenti strani di IE) e testarlo su IE (di solito 7 e 8 beta). Consiglierei a qualsiasi sviluppatore web non di progettare usando IE! I siti Web che presentano il maggior numero di errori sono ovviamente "progettati per IE" perché a malapena funziona in altri browser e visualizza più errori. Se si progetta utilizzando gli standard e si esegue il test utilizzando browser relativamente standard come Opera, Firefox e Safari e quindi si aggiungono gli hack terribili per IE preferibilmente utilizzando commenti condizionali (anche se non è standard e proprietario, fortunatamente e correttamente, è considerato lodevole dai browser reali , quindi hai vinto ' t rompere il codice di lavoro) hai meno problemi.

Un altro motivo di errori è che si usano framework che sono progettati per aggirare le differenze del browser e come effetto collaterale, o forse solo a causa di un bug, fa apparire i messaggi di errore in alcuni browser. Certamente non ho tempo per riparare un framework solo per rimuovere un messaggio di errore e, a meno che non riesca a aggirare il problema e fondamentalmente funziona comunque, devo ignorare i messaggi di errore, possibilmente presentare un rapporto e spero che verrà risolto in la prossima versione (o meglio sperare che IE improvvisamente e magicamente cessino di esistere :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top