ݺߣ

ݺߣShare a Scribd company logo
Autoformátování
kódu
Devel.cz 2018 · Praha · 16.6.2018
David Majda
@dmajda
Kdo někdy vedl diskuzi o
formátování kódu?
Autoformátování
podobným diskuzím
předchází
Python
Go
JavaScript
Python
Go
JavaScript
gofmt
Python
Go
JavaScript
gofmt
Prettier
Python
Go
JavaScript
YAPF
gofmt
Prettier
gofmt
● standard v Go komunitě
● žádné nastavení (!)
● jednoduchý algoritmus
○ hlavně odsazení,
zarovnávání
○ neřeší zalamování řádků
● nemám větší zkušenost
Prettier
● umí více jazyků
● několik málo nastavení
● přímočarý algoritmus
○ ale hodně speciálních
případů
● formátuje dobře
YAPF
● spousta nastavení
● složitější algoritmus
○ rozhodovací strom
○ váhy
○ heuristiky
● občas formátuje „divně“
f(a, b, c, d)
f(a, b, c,
d)
f(a=1, b=2, c=3, d=4)
f(a=1,
b=2,
c=3,
d=4)
a = [1, 2]
a = [1, 2]
a = [1, 2,]
a = [
1,
2,
]
Jak použít?
David Majda: Autoformátování kódu
make format
make format-check
npm run format
npm run format-check
David Majda: Autoformátování kódu
Naše zkušenosti
Nejtěžší je vzdát se
kontroly
Python
Go
JavaScript
YAPF
gofmt
Prettier
C/C++
Rust
⋮
ClangFormat
rustfmt
⋮
Autoformátujte!
David Majda
@dmajda

More Related Content

David Majda: Autoformátování kódu