Domanda

Abbiamo un CMS basato su Java e ha Mozilla Rhino per il lato server JS. Al momento la base di codice JS è piccola ma in crescita. Prima che sia troppo tardi e che il codice sia diventato un disastro orribile, voglio introdurre alcune buone pratiche e uno stile di codifica.

Ovviamente il controllo dello spazio dei nomi è piuttosto importante. Ma per quanto riguarda le altre migliori pratiche, specialmente per i programmatori Java?

È stato utile?

Soluzione

Ecco alcuni suggerimenti dalle prime linee:

  • Come Java, utilizzare docblocks in stile Doxygen / JsDoc per le funzioni
  • Test unitario. Personalmente come JsTestDriver, in quanto può essere eseguito automaticamente anche dal server CI.
  • Usa JSLint. Chiacchiererà il cattivo codice
  • Valuta l'utilizzo del compilatore di chiusura di Google. Parlerà di codice come JSLint, ma può essere utile per individuare blocchi di documenti scadenti ecc.
  • Assicurati che tutti nel tuo team comprendano come funzionano le chiusure. Altrimenti porterà a mal di testa
  • Come hai detto, gli spazi dei nomi sono importanti soprattutto se vuoi che il tuo codice funzioni bene con altre librerie JS ( var myns = myns || {}; )
  • Personalmente trovo utile l'uso di una libreria che fornisca aiutanti OOP come lezioni ecc. Potresti usare l'eredità prototipale ma spesso è un po 'più complicato in questo modo.

Altri suggerimenti

Vorrei esaminare CommonJS (precedentemente ServerJS). È un lavoro in corso, ma hanno un sistema di moduli standardizzato con diverse implementazioni. Esistono già alcune utili librerie scritte nelle specifiche CommonJS, come Narwhal .

Come Douglas Crockford ama dire, JavaScript è il linguaggio di programmazione più frainteso al mondo. Sebbene molte persone non lo sappiano, esiste un modo giusto per codificare in JavaScript. Non ho dubbi sul fatto che se lasci che gli sviluppatori Java inizino a programmare prima di capire come scrivere un buon JavaScript, incontrerai seri problemi.

La prima cosa da fare sarebbe assicurarsi che tutti abbiano letto l'eccellente articolo di Mozilla, Una reintroduzione a JavaScript ( https://developer.mozilla.org/en/a_re-introduction_to_javascript ). Uno dei maggiori problemi con JavaScript è che ci sono molti modi per svolgere le attività più comuni e questo articolo dovrebbe portare le persone sulla stessa pagina. Un altro riferimento essenziale è il lavoro di Douglas Crockford, incluso JavaScript: The Good Parts.

Un'altra cosa che ottiene molti programmatori Java / C ++ è che JavaScript utilizza l'ambito funzione NON bloccando l'ambito. Ciò può causare alcuni problemi molto delicati. C'è un ottimo articolo su questo problema in A List Apart chiamato Binding in JavaScript.


Per riassumere le principali questioni di cui si parla nelle risorse di cui sopra, le differenze più importanti da imparare sono

  • come scrivere codice orientato agli oggetti usando l'ereditarietà prototipale (eredità basata su classi)
  • come usare chiusure e lambdas
  • come utilizzare il potere di oggetti dinamici
  • come scrivere codice con ambito funzionale

Dato che hai un motore JS in Java, prendi l'abitudine di scrivere unit test per il tuo codice JS. Seleziona uno stile di codifica e applicalo vigorosamente. Se possibile, utilizzare gli strumenti per verificare che il codice sia sottoposto allo stile di codifica.

Di seguito sono riportati alcuni link che potrebbero esserti utili:

Best Practices Javascript

File pdf delle best practice JavaScript

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