Quando si lavora sulla stessa base di codice come una squadra, abbiamo sempre voglia
- codice utilizzare lo stesso formato di tutto il mondo (come
tabs
espaces
) - codice utilizzare le migliori pratiche di buona qualità (come
let
/const
anzichévar
)
Codice formatter risolve il primo problema, è possibile ristampare l’intero programma da zero in modo coerente.,
Code linter risolve il secondo problema, aiuta a utilizzare le migliori sintassi o nuove funzionalità dei linguaggi di programmazione e cattura possibili errori, ma non è in grado di risolvere alcuni difficili, come la denominazione delle variabili.
Code linter può anche essere usato per risolvere il primo problema, ma non è buono come il formattatore di codice., Codice linter può risolvere tabulazioni e spazi, ma non può riformattare molto lungo linee di codice
Codice linter funziona in modo diverso rispetto al codice formatter, codice linter utilizza AST di analizzare il codice, scoprire violazione, per poi correggere il codice solo in quel luogo, code formatter utilizza anche AST, ma rigenera il codice direttamente dall’AST, in modo che il codice formatter può promettere 100% codice di coerenza in tutta la codebase, e code formatter sempre correzioni di codice molto più veloce rispetto al codice linter.,
Per sfruttare appieno i vantaggi di fomatter e linter, dovremmo lasciare che risolvano il problema in cui sono bravi, usare il formattatore di codice per formattare il codice sorgente e usare code linter solo per le migliori sintassi, nuove funzionalità e la cattura di possibili errori.
awesomecode.io già utilizzare code linter eslint
per il codice javascript, che funziona bene, questa settimana abbiamo introdotto code formatterprettier
per il codice javascript e lo ha fatto funzionare insieme aeslint
.,
By default, we enable javascript formatter and auto-reformat your javascript code for each git commit, if you don’t like it, you can configure it in Project Settings page.
Css and ruby formatters are coming soon…