2012-03-27 15 views
6

Ho una pagina che ha molti gestori di eventi. Il codice ora ha raggiunto oltre 1000 linee di codici e sto cominciando ad avere difficoltà a leggere i codici. Ora sto pianificando di separare i codici in file diversi. La mia domanda è, ci sono degli svantaggi nel separare i codici JS in file diversi?Svantaggi della separazione dei codici JavaScript?

+4

Una cosa che viene subito in mente è un'altra richiesta di rete. Suggerirei di avere un file dev leggibile o più file ma un file minified eo gzip per la produzione. – Kumar

+0

(Modifica: Kumar mi ha battuto su di esso, ma penso che manchi ancora la mancanza di richieste simultanee.) L'unica cosa significativa che posso pensare è che caricare diversi file JS può essere un po 'lento. Dal momento che possono entrare in conflitto, solo uno può caricare alla volta (anche se i browser potrebbero aver iniziato a lavorarci intorno - non hanno fatto il check-in negli ultimi anni). Anche se potresti sempre raggruppare insieme alcuni file nella build di produzione. – Corbin

+0

d'accordo con Kumar - sebbene dirai che non vedrai molta differenza di prestazioni a meno che tu non abbia molti più file con molto più codice. – dbrin

risposta

3

svantaggi?

  • un'altra richiesta HTTP. gli sviluppatori consigliano che i file siano compressi e siano nel minor numero possibile di file per l'ottimizzazione. meno file si richiedono, più veloce (poiché ci sono meno viaggi di andata)

  • se si utilizza un editor di testo con un completamento automatico, alcuni di questi editor non raccoglieranno il materiale dall'altro file per il completamento automatico. questo può essere un problema se non memoize le funzioni che hai.

  • se uno di questi file interdipendenti non è stato caricato, l'app si interromperà.

4

La pratica migliore è quella di creare file relativamente piccoli per scopi di sviluppo in cui ogni file contiene un modulo di funzionalità che è tutto legato (ciò che è più efficace per il controllo dello sviluppo/debug/editing/source. È possibile dare ad ogni presenta un nome significativo che descrive ciò che è in esso. Ognuno di questi file può essere gestito separatamente (la propria cronologia delle versioni nel sistema di controllo del codice sorgente, check in/check out, ecc ...). È spesso più facile avere più schede aperte con file separati nel tuo editor piuttosto che provare a usare i segnalibri per saltare tra diversi luoghi in un file di grandi dimensioni, ecc ...

Quindi, quando vai a distribuire la tua app, usi uno strumento (come Google chiudi ure o YUI Compressor) per minimizzare e combinare tutti i file più piccoli in un unico file di implementazione. Ciò preserva i vantaggi dello sviluppo di file più piccoli che contengono codice correlato preservando al tempo stesso il vantaggio di distribuzione della maggior parte/tutto il codice in un file javascript esterno più grande che può essere scaricato in una richiesta http e può essere memorizzato nella cache in modo molto efficace.

2

In aggiunta al mio commento.

Utilizzare i modelli T4 da here, oppure è possibile utilizzare C# per scrivere JavaScript script#

in piattaforme moderne, gli sviluppatori non scrivere javascript direttamente, ad esempio

  • in Rails, utilizzando CoffeScript
  • in python, utilizzando uno (py2js, pigiama, google V8, skulpt)
  • in C#, utilizzando la sceneggiatura n.
1

La presenza di codice separato in file diversi aiuta la manutenzione. Ti suggerirò di dividerlo in moduli compatibili con CommonJS, se stai lavorando in un ambiente browser puoi usare RequireJS per caricarli. È inoltre possibile utilizzare l'utilità fornita per creare un singolo file quando si distribuisce il sito Web/webapp per ottimizzare le richieste http.

Problemi correlati