Når vi jobber på samme codebase som et team, vi ønsker alltid
- – koden bruke samme format overalt (som
tabs
ogspaces
) - – koden bruker beste praksis for god kvalitet (som
let
/const
snarere ennvar
)
– Koden formatter løser det første problemet, er det ut hele programmet fra scratch på en konsistent måte.,
– Koden linter løser det andre problemet, det hjelper å bruke den bedre syntaxes eller nye funksjoner på programmering språk og fange opp mulige feil, men det er ikke i stand til å løse noen vanskelige, som variabel navn.
– Koden linter kan også brukes til å løse det første problemet, men det er ikke så god som kode formatter., Koden linter kan fikse kategorier og områder, men det kan ikke formatere svært lange linjer med kode fra
for å
– Koden linter fungerer annerledes enn koden formatter, kode linter bruker AST å analysere koden, kan du finne ut overtredelse, deretter fikse koden akkurat på det stedet, kode formatter bruker også AST men regenererer koden direkte fra AST, så koden formatter kan love 100% kode konsistens i hele codebase, og koden formatter alltid løser koden mye raskere enn koden linter.,
for Å gjøre full bruk av fomatter og linter fordeler, bør vi la dem løse det problemet de er gode på, bruk koden formatter å format kildekoden og bruk koden linter bare til det bedre syntaxes, nye funksjoner, og fange mulige feil.
awesomecode.io allerede bruker koden linter eslint
for javascript-kode, som fungerer godt, og denne uken har vi introdusert kode formatter prettier
for javascript-kode og gjort den til å fungere sammen med eslint
.,
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…