A fejlesztők gyakran küzdenek a CSS osztályok és azonosítók elnevezésével. Kövesse ezeket a bevált módszereket a hatékony elnevezéshez.

A CSS-osztályok és azonosítók elnevezési konvenciói jelentős szerepet játszanak a JavaScript-projektek kódjának megértésében és karbantartásában. A használt nevek javíthatják a kódbázis egyértelműségét, újrafelhasználhatóságát és rugalmasságát. A bevált gyakorlatok követése fontos a CSS-osztályok és azonosítók elnevezésekor egy JavaScript-projektben.

1. Használjon szemantikus neveket

Nagyon fontos, hogy olyan neveket válasszunk, amelyek pontosan megmagyarázzák az elem funkcióját vagy célját. A szemantikus nevek értelmes kontextust biztosítanak, és könnyebben érthetővé teszik a kódot.

Például a hagyományos nevek használata helyett, mint pl doboz vagy tartó, próbáljon meg olyan neveket használni, mint fejléc vagy oldalsáv amelyek tükrözik az összetevő sajátos szerepét.

/* Példa szemantikai nevekre */

.fejléc {}
.oldalsáv {}

2. Használjon következetes elnevezési konvenciókat

instagram viewer

A konzisztencia kulcsfontosságú a CSS-osztályok és azonosítók elnevezésekor. Ugyanazon elnevezési szabvány használata egyszerűbbé teszi a kódbázis szerkezetének karbantartását.

A BEM (Block Element Modifier) ​​és az OOCSS (Object-Oriented CSS) elnevezési konvenciók a legelőnyösebb elnevezési konvenciók.

Az OOCSS elnevezési konvenció segítségével moduláris, kezelhető és méretezhető CSS-kódot írhat. Itt van egy szemléltetés, hogyan teheted hozzon létre egy navigációs menüt OOCSS használatával:

/* Szerkezet */

.nav {
kijelző: Flex;
lista stílusú: egyik sem;
}

.nav__item {
margó-jobb: 1rem;
}

.nav__link {
szöveg-dekoráció: egyik sem;
szín: #333;
}

/* Kinézet */

.nav__link:lebeg {
szöveg-dekoráció: aláhúzás;

}

Ebben a példában a navigációs menü kódjának két különálló része van, az egyik a szerkezetre, a másik pedig a megjelenésre. A megjelenés rész leírja azokat a színeket és egyéb stílusokat, amelyek vonzó megjelenést kölcsönöznek, míg a struktúra rész elmagyarázza, hogyan és hol helyezkednek el a menüelemek.

3. Kerülje a névtereket

A CSS-ben a névterek olyan szemantikai struktúrák, amelyek lehetővé teszik, hogy névtér-előtagot adjon a kijelöléseikhez. Annak érdekében, hogy különbséget lehessen tenni a modulok, könyvtárak vagy a kódbázis egyéb részei között, amelyeknek ütköző osztálynevei lehetnek, a névtér előtagot kell használni.

Ez a funkció hasznos, de konkrétsági és karbantarthatósági problémákat okozhat.

A névterek egyik legnagyobb hátránya a szelektor-specifikusság kezelésének nehézsége. A névtér előtagja konkrétabbá teheti a kijelölést, megnehezítve a stílusok jövőbeni felülbírálását.

Ez a CSS-kód felfúvódásához vezet, ami zavaró és kihívást jelent az idő múlásával fenntartani.

Vegyük például:

/* Névtérrel */

.my-modul.tartalom {
háttérszín: kék;
}

/* Névtér nélkül */

.modul-header {
háttérszín: piros;
}

.modul-tartalom {
háttérszín: sárga;

}

A névtér előtagja .my-modul és .tartalom mindkettőt a fő kódblokkban használják. Ennek eredményeként a kiválasztás precízebbé válik, és nagyobb kihívást jelent a jövő stílusának felülmúlása.

A második részben a névteret leíró osztálynevek helyettesítik .modul-header és .modul-tartalom. Amellett, hogy könnyebben érthetővé teszi a kódot, egyszerűbb a karbantartása is.

A névterek használata szükségtelenül bonyolulttá teszi a programot, különösen akkor, ha többen dolgoznak ugyanannak a projektnek különböző részein. Előfordulhat, hogy nehéz megérteni és megváltoztatni egymás kódját, mivel a különböző csapatok eltérő névtér előtagokat használhatnak.

Használjon leíró jellegű osztályneveket, például:

.fejléc {

háttérszín: piros;

}

.tartalom {

háttérszín: sárga;

}

A leíró osztálynevek használatával megszüntetheti a névterekre vonatkozó követelményt, és a kódbázist jól strukturált és könnyen érthető formában tarthatja.

4. Kerülje a globális neveket

A JavaScript-projektekben kritikus fontosságú a CSS-osztályok és azonosítók globális neveinek elkerülése. A globális nevek megnehezítik a kód karbantartását, és növelik az elnevezési kockázatok lehetőségét. A tartósabb és skálázható kódbázis biztosítása érdekében célszerű pontosabb neveket használni egy-egy összetevő vagy modul hatókörén belül.

Tekintsük az alábbi példát:

 A globális nevek helytelen használata 

<divosztály="tartály">
<divosztály="oldalsáv">

Tartalom itt

div>
div>

Az általános osztálynevek oldalsáv és tartály a fenti példában érzékenyek a projekten belüli más stíluslapokkal vagy JavaScript kóddal való ütközésre. Például, ha két stíluslap ugyanazt adja meg .oldalsáv osztályban, az egyik kék, a másik piros háttérrel, az oldalsáv színe attól függ, hogy melyik stíluslap töltődik be utoljára. Ebből váratlan és előre nem látható eredmények adódhatnak.

A problémák minimalizálása érdekében jobb, ha pontosabb neveket használunk, amelyek a megfelelő összetevőn vagy modulon belülre terjednek ki.

Nézz meg egy továbbfejlesztett verziót.

 Konkrét nevekkel javítva 

<divosztály="fejléc__tároló">
<divosztály="sidebar__content">

Tartalom itt

div>
div>

A megváltozott változatban az osztálynevek header__container és oldalsáv__tartalom világossá tenni, hogy az egyes elemek mire valók és mit csinálnak.

Konkrét nevek használata csökkenti az elnevezési ütközések kockázatát, és biztosítja, hogy a stílusok csak a megfelelő összetevőikben vagy moduljaikban lévő várható összetevőkre legyenek hatással.

5. Használja a BEM elnevezési egyezményt

A BEM (Block Element Modifier) ​​elnevezési konvenció népszerű a CSS-osztályok és azonosítók elnevezésére JavaScript-projektekben. A BEM strukturált és moduláris módot biztosít az elemek elnevezésére, ösztönzi az újrafelhasználhatóságot, és megkönnyíti a kódbázisok karbantartását.

A BEM konvenciók blokkokból, elemekből és módosítókból állnak. Egy magas szintű elemet vagy egy önálló komponenst blokknak nevezünk. Az elemek a blokk azon részei, amelyek a blokk kontextusára támaszkodnak. A módosítók megváltoztathatják egy blokk vagy elem megjelenését vagy viselkedését.

Íme egy példa a BEM elnevezési konvenció használatára:

/* Példa a BEM elnevezési megállapodáshoz */

/* Blokk */
.fejléc {}

/* A blokk eleme */
.fejléc logó {}
.header__menü {}

/* Az elem módosítója */
.header__menu -- aktív {}

A fenti ábra a fejléc blokk a logó és a menü elem. A menü tétel megkapja a aktív módosítsa, hogy jelezze, hogy aktívvá vált.

Gyorsan azonosíthatja az alapvető összetevőket és a különböző részek közötti kapcsolatokat, így a kódbázis szerkezete és hierarchiája világosabbá válik.

6. Használjon előtagokat vagy utótagokat

A CSS-osztály- és azonosítónevekhez további beállításokat is hozzáadhat elő- vagy utótaggal, különösen nagyobb projekteknél. Használhat hasonló előtagot js- annak jelzésére, hogy egy osztály vagy azonosító JavaScript-képességeket kínál. JavaScript elnevezési konvenciók ezekkel a CSS-elnevezési konvenciókkal párosulva időt és erőfeszítést takaríthat meg hosszú távon.

 HTML JavaScript előtaggal 

<gombosztály="js-toggle">Váltásgomb>

<divid="js-modal">Modaldiv>

7. Használjon leíró neveket

A leíró nevek révén jobban megértheti egy elem célját, funkcióját vagy tartalmát.

Tekintsük az alábbi példát:

/* Nem leíró jellegű nevek */

.kék doboz {
/* Stílusok itt */
}

a {
/* Stílusok itt */
}

Az osztályok nevei kék doboz és a a fenti példában nem továbbítanak releváns információkat az általuk hivatkozott összetevőkre vonatkozóan. A leíró elnevezés hiánya megnehezítheti a programon belüli egyes összetevők céljának vagy szerepének gyors megértését.

Használjon olyan leíró neveket, amelyek pontosan megmagyarázzák az elem szerepét javítja a kód olvashatóságát és karbantarthatóságát.

Tekintsük az alábbi javított példát:

/* Leíró nevek */

.termék-kártya {
/* Stílusok itt */
}

.navigation-link {
/* Stílusok itt */
}

Az osztályok nevei termék-kártya és navigációs link a frissített verzióban nyilvánvalóvá tegyék, hogy az egyes elemek milyen célt szolgálnak. Ezekkel a leíró nevekkel egyszerűbben felfedezheti és szerkesztheti a kódot.

A leíró nevek használata a kódbázison dolgozó jelenlegi és potenciális jövőbeli fejlesztők számára előnyös. Ha egy idő után újra átnézi a kódot, könnyen megértheti a darabok szerkezetét és működését.

8. Használjon rövid és tömör neveket

Míg a megkülönböztető nevek elengedhetetlenek, az is fontos, hogy tömörek legyenek. A hosszú osztály- és azonosítónevek megnehezíthetik a kód olvashatóságát és karbantartását. Próbáljon egyensúlyt teremteni a rövidség és a részletesség között. Ezenkívül fontolja meg a jól ismert mozaikszavak vagy rövidítések használatát a projekt kontextusában.

Fontolja meg azt az esetet, amikor CSS-t szeretne használni webhelye navigációs menüjének testreszabásához. Használhat rövidebb, pontosabb neveket, mint pl nav-elem vagy nav-link hosszúak helyett, mint nav-interfész vagy fő-navigációs link.

.nav-elem {
/* Stílusok a navigációs menüelemekhez */
}

.nav-link {
/* Stílusok a navigációs hivatkozásokhoz */
}

Rövidítések vagy népszerű rövidítések használata a projekt kontextusában, mint pl nav számára navigáció, sokkal könnyebben érthetővé teheti a kódot más programozók számára.

A CSS-osztályok és -azonosítók elnevezésének bevált gyakorlatai

A JavaScript-projektekben kulcsfontosságú a CSS-osztályok és azonosítók megfelelő elnevezése a kód olvashatósága, karbantartása és méretezhetősége érdekében.

A stíluslapokat egyszerűbbé teheti, és javíthatja a kód minőségét. Ha időt szánunk a jó elnevezési konvenciók meghatározására, az hosszú távon kifizetődik, mivel megkönnyíti Önnek és másoknak a kódbázis megértését és karbantartását.