Dobre praktyki: DRY, logiczne grupowanie treści
Dobre praktyki: DRY, logiczne grupowanie treści
W tej lekcji skupimy się na konkretnych zasadach, które pozwalają pisać lepszy, bardziej skalowalny i łatwiejszy w utrzymaniu kod HTML. Na poziomie zaawansowanym liczy się nie tylko to, czy coś działa, ale jak zostało napisane. Dzięki dobrym praktykom możesz uniknąć bałaganu, duplikacji i problemów ze stylowaniem lub dostępnością.
Zasada DRY (Don’t Repeat Yourself)
Powielanie struktury HTML to częsty błąd, który szybko prowadzi do trudnego w utrzymaniu kodu. Zamiast pisać pięć razy ten sam blok kodu, warto oprzeć się na komponentach i klasach.
<!-- Źle: ten sam kod pisany ręcznie --> <div class="box">Funkcja 1</div> <div class="box">Funkcja 2</div> <div class="box">Funkcja 3</div> <!-- Dobrze: komponent "feature-box" --> <section class="features"> <article class="feature-box">Funkcja 1</article> <article class="feature-box">Funkcja 2</article> <article class="feature-box">Funkcja 3</article> </section>
Dzięki wspólnej klasie feature-box możesz ustalić wspólny wygląd, animację, układ – bez potrzeby edycji każdego bloku osobno.
Logiczne grupowanie treści
Zamiast tworzyć „płaski” HTML, który jest trudny w odbiorze i utrzymaniu, grupuj elementy logicznie i semantycznie:
- używaj
<section>dla dużych bloków treści, <article>dla jednostek samodzielnej treści (np. postów, kart),<ul>i<ol>do list logicznych (nie tylko punktowania),<header>i<footer>dla nagłówków sekcji i ich zakończeń,<aside>dla treści pomocniczych (np. boczne panele, cytaty, przypisy).
Przykład logicznej, dobrze pogrupowanej struktury
<main>
<section class="team">
<header>
<h2>Nasz zespół</h2>
<p>Poznaj specjalistów, którzy tworzą naszą firmę.</p>
</header>
<ul class="team-list">
<li class="team-member">
<h3>Anna Kowalska</h3>
<p>Front-end Developer</p>
</li>
<li class="team-member">
<h3>Jan Nowak</h3>
<p>UI Designer</p>
</li>
</ul>
</section>
</main>
Ta struktura:
- jest w pełni semantyczna,
- jest łatwa do stylizacji i reużycia,
- może być dynamicznie zasilana z CMS lub z JavaScript,
- jest czytelna dla czytników ekranu.
Spójność klas i komponentów
Klasy powinny mieć spójne prefiksy i być przewidywalne. Zamiast:
<div class="blok1"> <h2 class="naglowekX">Tytuł</h2> </div>
lepiej używać:
<section class="section-title"> <h2 class="section-heading">Tytuł</h2> </section>
To podejście nie tylko ułatwia pracę Tobie, ale także każdemu, kto będzie czytać lub rozwijać Twój kod.
Dobre praktyki a dostępność
- Zawsze używaj nagłówków w logicznej kolejności – np.
<h2>po<h1> - Dodawaj atrybuty
altdo obrazów - Formularze powinny mieć
<label>powiązane z polem za pomocąforiid - Unikaj używania
<br>do tworzenia odstępów – od tego jest CSS
🛠️ Twoje zadanie
Wybierz jeden z wcześniej stworzonych komponentów (np. kartę lub CTA) i:
- utwórz z niego powtarzalną strukturę z minimum 3 kopiami,
- nadaj mu klasy o spójnej konwencji (np.
cta-box,cta-button), - dodaj do tego komentarze w kodzie opisujące funkcję każdego elementu,
- przetestuj całość w JSFiddle.
✅ Podsumowanie
- Nie powielaj kodu – twórz komponenty
- Grupuj treści logicznie i semantycznie
- Stosuj spójne nazewnictwo klas
- Myśl o dostępności i przyszłościowym rozwoju kodu
