Når vi arbejder på den samme kodebase som et team, ønsker vi altid
- kode bruge samme format overalt (som f.eks.
tabs
ogspaces
) - kode bruge den bedste praksis for god kvalitet (f.eks.
let
/const
snarere endvar
)
Kode formatter løser de første problem, det genoptryk hele programmet fra bunden, på en konsekvent måde.,
Kodeliner løser det andet problem, det hjælper med at bruge de bedre syntakser eller nye funktioner i programmeringssprogene og fange mulige fejl, men det er ikke i stand til at løse nogle vanskelige, som variabel navngivning.
Kodeliner kan også bruges til at løse det første problem, men det er ikke så godt som kodeformatering., Kode linter kan fastsætte faner og rum, men det kan ikke omformatere meget lange linjer af kode fra
for at
Kode linter virker anderledes end kode formatter, kode linter bruger AST til at analysere koden, find ud af krænkelse, og derefter lave den kode netop på dette sted, kode formatter bruger også AST, men regenererer koden direkte fra AST, så koden formatter kan løfte 100% kode sammenhæng i hele codebase, og kode formatter altid løser koden langt hurtigere end kode linter.,
At gøre fuld brug af fomatter og linter fordele, vi bør lade dem løse det problem, de er gode til, brug kode formatter til at formatere source-kode og bruge koden linter kun til det bedre syntaks, nye funktioner, og fange eventuelle fejl.
awesomecode.io allerede bruger kode linter eslint
for javascript-kode, som fungerer godt, i denne uge har vi indført kode formatter prettier
for javascript-kode og lavet det til at 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…