CSS diff - jak na to, aniž by tě to štvalo
CSS soubory umí rychle narůst do tisíců řádků. A když víc lidí mění styly nebo refaktoruješ layout, chceš jasně vidět co se změnilo.
Proč je CSS diff otravný
- Whitespace - přidáš mezeru a diff vypadá jako změna
- Pořadí selektorů - může změnit specificity, ale diff to neví
- Vendor prefixy - duplicitní, ale nutné
- Shorthand vs longhand -
margin: 10pxvsmargin-top: 10px; margin-right: 10px...- sémanticky stejné - Media queries - rozdělené nebo consolidated
Prostě spoustu šumu.
Kdy to řeším
- Refaktoring - konsoliduju duplicate rules
- Code review - co přesně kolega změnil?
- Debugging - co mi přebíjí styly?
- Optimalizace - co je nepoužité?
Co používám
Pro rychlý pohled:
- Browser DevTools - computed styles, inheritance chain
- Code Diff s CSS zvýrazněním
Pro analýzu:
- PurgeCSS/UnCSS - najde nepoužité CSS
- CSS Stats - complexity, specificity, duplicity
Textový vs sémantický diff
Textový - ukazuje každý znak, včetně whitespace. Dobrý na code review.
Sémantický - normalizuje CSS, expanduje shorthands, seřadí properties. Lepší na verifikaci refaktoringu.
Většinou mi stačí textový, ale občas si CSS formátuji Prettierem předtím.
SCSS/Less
Porovnávej zdrojové soubory, ne zkompilované CSS.
Sleduj změny v:
- Variables
- Mixins
- Functions
Ty ovlivňují output víc než by člověk čekal.
Co sledovat extra
- Layout - flexbox, grid, positioning (rozbije to rozložení)
- Typography - font-size, line-height (čitelnost)
- Barvy - brand colors, accessibility contrast
- Breakpointy - media queries (mobile/desktop)
- Animace - timing (performance)
CSS diff není žádná věda, ale pomáhá udržet konzistentní design a chytit vizuální regrese dřív než jdou na produkci.
Potřebuješ rychle porovnat dva CSS snippety? Hoď je do Code Diff.
Vyzkoušejte PorovnejText.cz zdarma
Nejrychlejší český nástroj pro porovnání textů. Vše probíhá ve vašem prohlížeči, žádná registrace není potřeba.
Porovnat texty nyní →Související články
Git diff mi nestačí - kdy a proč používám online diff
Jako programátor pracuju s git diff denně. Ale někdy potřebuju rychle porovnat dva kousky kódu a nechce se mi kvůli tomu otvírat IDE. Kdy použít co.
Markdown a README - jak kontroluju změny
Píšete dokumentaci v Markdownu? Tady je jak porovnávám změny v README a dalších md souborech.
Jak automatizuju changelog z Git commitů
Ruční psaní release notes mě nebavilo. Tady je jak jsem to automatizoval pomocí Conventional Commits.