2011-09-29 11 views
9

Ho appena riorganizzato un file JavaScript molto grande. Ora ricevo "Fine imprevista dell'input". Da qualche parte in quelle centinaia di funzioni, uno ha perso (o guadagnato) una parentesi. Qual è il modo più veloce per trovarlo?Parentesi non corrispondenti: un modo rapido per trovarle?

+0

"La fine imprevista dell'input" è quasi certamente una parentesi mancante, non una in più. – cdeszaq

+2

Hai un editor che comprime le parentesi o mostra visivamente il loro ambito nel margine sinistro oppure ha un comando "vai all'altra estremità" o ha una finestra "contorno" separata? –

+0

Grazie. Cercherò un editor che comprima le parentesi graffe. Stavo cercando un evidenziatore e non avevo pensato di crollare. Grazie. –

risposta

12

Si potrebbe provare a analizzare il file con lint: http://www.javascriptlint.com/online_lint.php

Se avete problemi con la dimensione del file di cercare di dividerlo in quelli più piccoli ...

+1

perché non solo goto [jslint.com/](http://www.jslint.com/) – rlemon

+0

@RLEMON hanno alcune piccole differenze (jslint è in realtà più rigoroso) ma per individuare una parentesi mancante sono entrambi buoni. – mamoo

+0

Grazie! Questo è esattamente quello che stavo cercando! –

1

Ri-formattare il file usando qualcosa che rientra bene. Cerca qualcosa che è troppo lontano a sinistra.

+0

Normalmente lo farei, ma uso il "code browser" di Marc Kerbiquet. È incredibilmente utile per l'organizzazione del codice. Ma l'unico svantaggio è che l'aggiunta di più rientri lo renderebbe molto meno utile. Ma lo farò sicuramente in file più piccoli. –

+0

È ancora solo un file; mettilo in un editor che indentazione. (Voglio dire, sì, jslint va bene anche, basta dire.) –

0

Minimizzare la nidificazione di funzioni. Riduce la qualità del codice (mantenibilità-saggio).

+0

Sono piuttosto un newb - non sapevo che potessi annidare le funzioni in JavaScript (nella mia ultima lingua che non era possibile). Mi hai dato idee malvagie, grazie! –

+2

Funzioni opportunamente annidate _improve_ la qualità del codice, non lo riducono. – nnnnnn

+0

La parola chiave è "Appropriatamente" troppo spesso è pigro, veloce e sporco, programmazione. –

3

Un buon trucco quando manca una parentesi in eclissi è di andare alla controvisione finale nel modulo sorgente e fare doppio clic su di essa. Ciò evidenzierà tutto il ritorno a ciò che PENSA è il tutore aperto corrispondente. Il punto in cui si evidenzia è invariabilmente l'INIZIO di dove si trova il problema, quindi salta quella parentesi aperta e vai a quella successiva e inizia a fare doppio clic sulle parentesi graffe aperte e di solito troverai dove manca la parentesi abbastanza rapidamente. Ho imparato che il modo più difficile con un file di codice sorgente di oltre 20.000 righe di codice e ottenere centinaia di errori senza la minima indicazione di dove il vero problema era quando gli errori iniziarono a comparire migliaia di righe prima nel codice.

Problemi correlati