Se non sapete da dove cominciare seguite la Struttura del progetto.
- Tabs, no spazi: evitiamo discussioni inutili ed usate i tabs, in qualsiasi parte del codice, no eccezioni, chi si opporrà verrà linciato l'indomani.
Riferitevi alla documentazione per JS nella sezione di Documentazione esterna.
- Styleguide Airbnb: da leggere assolutamente perchè vi mostra da wei per scrivere il codice.
Non si usa console.log per fare logging, solo per debugging temporaneo.
Usiamo il logger winston. L'istanza del logger si può trovare su /lib/utility/logger.js.
Comandi utili:
logger.debug()logger.info()logger.error()logger.warn()
Link utili:
I test verranno fatti con Jest e il mock dei require con proxyquire.
- I test si trovano all'interno della cartella
webserver/tested internamente seguono la struttura gerarchica della cartellawebserver. - Ogni test avrà il nome del file definito nel seguente modo
<file-to-test>.test.js. - Guardare gli esempi per vedere come strutturare un test ed usare jest e proxyquire.
Riferimenti: test su Datastore
- Non usare ID per lo stile (solo lato JS per riconoscere elementi unici nella pagina).
- Usare il più possibile gli elementi forniti da Bootstrap (link utili sulla Documentazione).
- Se serve aggiungere o modificare regole, create una classe apposta.
- Nomi degli identificatori in minuscolo; se più parole, separate da
-.
- Nomi degli identificatori in minuscolo; se più parole, separate da
- Non modificare MAI le classi fornite da Bootstrap (a meno che non siate consapevoli che verrà modificata ovunque nel sito).
- Seguite la struttura dei tag su Bootstrap, nelle guide elencate sul paragrafo di CSS.
- Non mettete tutto sulla stessa riga. Non viene versionato bene ed è illeggibile. Separate su più righe, a meno che non siano solo elementi inline.
<!-- NO! --> <div class="..."><p><a href=""><span>link</span></a></p><p>Un altro paragrafo</p><button>invio</button></div> <!-- SI --> <div class="..."> <p><a href=""><span>link</span></a></p> <p>Un altro paragrafo</p> <button>invio</button> </div>
Per mantenere il codice coerente ed uniforme vi consiglio di usare Atom e i relativi plugin, come descritto nell'ambiente di sviluppo nelle Norme di Progetto. Atom è pesante e vi chiava la batteria, però offre un sacco di tools comodi ed è molto supportato dalla community.
Plugins Atom:
Su Settings > Install Packages, cercate il nome ed installate ognuno dei seguenti:
atom-ide-ui, autoclose-html, autocomplete-modules, autocomplete-paths, color-picker, colorful-json, docblockr, file-icons, highlight-selected, ide-typescript, language-babel, linter, linter-eslint, pigments, project-manager, todo-show
Setup (dopo aver installato i plugins):
- Assicuratevi che
lintersia disabilitato (viene rimpiazzato dal linter integrato nel pluginatom-ide-ui). - Create un progetto con Project Manager sulla cartella principale.
- Su Settings > Core > Ignored Names mettete
.git, .hg, .svn, .DS_Store, ._*, Thumbs.db, desktop.ini, node_modules.
Shortcuts Utili
Ctrl + Shift + P: command palette, tutte le funzionalità a portata di tastiera.Ctrl + P: ricerca di un file tramite nome, comodo per aprirli velocemente.Ctrl + /: de/commenta una riga.Ctrl + F: ricerca all'interno del file corrente.