window.pipedriveLeadboosterConfig = { bas: 'leadbooster-chat.pipedrive.com', företagId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(funktion () { var w = fönster if (w.LeadBooster) { console.warn('LeadBooster finns redan') } annars { w.LeadBooster = { q: [], on: funktion (n, h) { this.q.push({ t: "o", n: n, h: h }) }, trigger: funktion (n) { this.q.push({ t: 't', n: n }) }, } } })() Hur bryr vi oss om kvaliteten på CSS-kod? - The Codest
Codest
  • Om oss
  • Tjänster
    • Utveckling av programvara
      • Frontend-utveckling
      • Backend-utveckling
    • Staff Augmentation
      • Frontend-utvecklare
      • Backend-utvecklare
      • Dataingenjörer
      • Ingenjörer inom molntjänster
      • QA-ingenjörer
      • Övriga
    • Det rådgivande
      • Revision och rådgivning
  • Industrier
    • Fintech & bankverksamhet
    • E-commerce
    • Adtech
    • Hälsoteknik
    • Tillverkning
    • Logistik
    • Fordon
    • IOT
  • Värde för
    • VD OCH KONCERNCHEF
    • CTO
    • Leveranschef
  • Vårt team
  • Fallstudier
  • Vet hur
    • Blogg
    • Möten
    • Webbinarier
    • Resurser
Karriär Ta kontakt med oss
  • Om oss
  • Tjänster
    • Utveckling av programvara
      • Frontend-utveckling
      • Backend-utveckling
    • Staff Augmentation
      • Frontend-utvecklare
      • Backend-utvecklare
      • Dataingenjörer
      • Ingenjörer inom molntjänster
      • QA-ingenjörer
      • Övriga
    • Det rådgivande
      • Revision och rådgivning
  • Värde för
    • VD OCH KONCERNCHEF
    • CTO
    • Leveranschef
  • Vårt team
  • Fallstudier
  • Vet hur
    • Blogg
    • Möten
    • Webbinarier
    • Resurser
Karriär Ta kontakt med oss
Pil tillbaka GÅ TILLBAKA
2019-01-11
Utveckling av programvara

Hur bryr vi oss om kvaliteten på CSS-koden?

Codest

Lukasz Usarz

Senior Software Engineer

CSS verkar behandlas som ett stödmedium och utgör ändå en betydande del av alla Internetapplikationer. Vilka verktyg och god praxis använder vi i Codest för att tillhandahålla den högsta CSS-koden?

Vi kan hitta många publikationer om kvaliteten på en kod skrivna i programmeringsspråk som t.ex. JavaScript, Java, Ruby och andra. En hel del har redan sagts när det gäller designmönster, automatiserad testning och programvaruarkitektur. I alla dessa publikationer verkar CSS behandlas som ett stödmedium, men utgör ändå en betydande del av alla Internetapplikationer.

I den här artikeln kommer vi att beskriva vilka verktyg och god praxis vi använder i Codest, så att de projekt vi tillhandahåller till våra kunder alltid håller högsta kvalitet.

SCSS PREPROCESSOR

Att skriva CSS-kod är tillräckligt för små applikationer. När du hanterar en större projektFör att inte koden för liknande HTML-objekt ska behöva upprepas många gånger på olika ställen är det viktigt att koden för liknande HTML-objekt inte behöver upprepas många gånger på olika ställen. SCSS preprocessor hjälper oss att använda variabler, funktioner och s.k. mixins, som gör vår kod mer strukturerad och ren.

Följande lista innehåller ett exempel på en mixin som gör att du kan uppfylla principen "Upprepa inte dig själv":

@mixin flex-center {
  display: flex;
  align-items: center;
  justify-innehåll: mitt;
}

Genom att använda denna mixin kan vi skriva kod:

.item-a {
  display: flex;
  align-items: center;
  justify-innehåll: center;
  ...
}

.item-b {
  display: flex;
  align-items: center;
  justify-innehåll: mitt;
  ...
}

På ett mer kortfattat och rent sätt:

.item-a {
  @inkludera flex-center;
}

.item-b {
  @inkludera flex-center;
}

BEM METODOLOGI

BEM-metodiken är en enkel namngivningskonvention som gör att du kan skapa en modulär, återanvändbar och skalbar CSS-kod. Som en del av Codest använder vi den för att stilisera VueJS-komponenter. Vi försöker organisera vår kod på ett sådant sätt att en enda .scss-fil, som innehåller ett block, tilldelas en enda .vue-komponent. Styling av v-page-header.vue-komponenten kan ställas in som ett exempel.

.sidhuvud {
  &__title {
    teckenstorlek: 2,0rem;
    färg: $color-black;
    bakgrund: $color-white;
  }

  &__logo {
    background: url('/images/background.png') no-repeat 0 0;

    &--vertikal {
      background: url('/images/background-2.png') no-repeat 0 0;
    }
  }
}

VERKTYGSKLASSER

När vi arbetade med BEM-metoden märkte vi att vi måste uppfinna artificiella CSS-klassnamn för att kunna utföra en mycket enkel åtgärd - t.ex. att fetstila en del av texten:

.sidhuvud {
  &__bolder-objekt {
    typsnittsvikt: fet;
  }
}

För att eliminera detta problem inspirerades vi av "utilities"-klasserna som används i källkoden för Bootstrap-ramverket. Tack vare detta kan vi i koden för Vue/HTML-mallar använda följande typ:

<div>
  <span class="text-bold">Innehåll</span>
</div>

STATISK ANALYS AV KODEN

Du behöver inte övertyga någon om att du genom att arbeta med en kod som är transparent och innehåller konsekventa strukturer enkelt kan ändra och lägga till nya funktioner. Det är viktigt att alla som börjar arbeta med ett befintligt fragment av en kod kan hitta det ganska snabbt. Men ganska ofta har programmerare sina egna vanor som kanske inte förstås av andra Team medlemmar. Det är därför det är så viktigt att använda verktyg som gör att man kan automatisera kodkontrollen. Som en del av Codest använder vi verktyget SCSS-LINT för att automatiskt analysera en SCSS-kod, som innehåller en uppsättning fördefinierade regler. En av de mest intressanta och mest restriktiva reglerna som vi använder i våra projekt kan vara PropertySortOrder-regeln, som säkerställer rätt ordning på attributen inom en och samma SCSS-klass.

Föreställ dig följande två delar av SCSS-koden:

.item-a {
    teckenstorlek: 14px;
    färg: #FF00FF;
    marginal-topp: 10px;
    typsnittsvikt: fet;
    bakgrundsfärg: #00FFFF;
    stoppning: 5px;
    margin-bottom: 10px;
}

.item-b {
    teckenstorlek: 18px;
    stoppning: 3px;
    bakgrundsfärg: #00FFFF;
    marginal-botten: 4px;
}

och..:

.item-a {
  marginal: 10px 0;
  stoppning: 5px;
  bakgrundsfärg: #00FFFF;
  färg: #FF00FF;
    teckenstorlek: 14px;
    typsnittsvikt: fet;
}

.item-b {
  marginal-botten: 4px;
  stoppning: 3px;
  bakgrundsfärg: #00FFFF;
    teckenstorlek: 18px;
}

Båda passagerna är korrekta, men den andra är mer läsbar. Relaterade attribut som marginaler och utfyllnader grupperas tillsammans.

Sammanfattning

Det är svårt att i några få meningar ge all information om CSS-kodorganisationen i de omfattande webbapplikationer som vi skapar med Codest-ramverket. Vi uppmuntrar alla våra läsare att lämna kommentarer om vilka verktyg och bra metoder ni använder i era egna projekt.

Relaterade artiklar

Utveckling av programvara

Bygg framtidssäkrade webbappar: Insikter från The Codest:s expertteam

Upptäck hur The Codest utmärker sig genom att skapa skalbara, interaktiva webbapplikationer med banbrytande teknik som ger sömlösa användarupplevelser på alla plattformar. Läs om hur vår expertis driver digital omvandling och affärsutveckling...

DEKODEST
Utveckling av programvara

Topp 10 Lettlandsbaserade mjukvaruutvecklingsföretag

Läs mer om Lettlands främsta mjukvaruutvecklingsföretag och deras innovativa lösningar i vår senaste artikel. Upptäck hur dessa teknikledare kan hjälpa till att lyfta ditt företag.

thecodest
Lösningar för företag och uppskalningsföretag

Java Software Development Essentials: En guide till framgångsrik outsourcing

Utforska denna viktiga guide om framgångsrik outsourcing av Java-programvaruutveckling för att förbättra effektiviteten, få tillgång till expertis och driva projektframgång med The Codest.

thecodest
Utveckling av programvara

Den ultimata guiden till outsourcing i Polen

Den kraftiga ökningen av outsourcing i Polen drivs av ekonomiska, utbildningsmässiga och tekniska framsteg, vilket främjar IT-tillväxt och ett företagsvänligt klimat.

TheCodest
Lösningar för företag och uppskalningsföretag

Den kompletta guiden till verktyg och tekniker för IT-revision

IT-revisioner säkerställer säkra, effektiva och kompatibla system. Läs mer om hur viktiga de är genom att läsa hela artikeln.

Codest
Jakub Jakubowicz CTO och medgrundare

Prenumerera på vår kunskapsbas och håll dig uppdaterad om expertisen från IT-sektorn.

    Om oss

    The Codest - Internationellt mjukvaruutvecklingsföretag med teknikhubbar i Polen.

    Förenade kungariket - Huvudkontor

    • Kontor 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokala tekniknav

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      Codest

    • Hem
    • Om oss
    • Tjänster
    • Fallstudier
    • Vet hur
    • Karriär
    • Ordbok

      Tjänster

    • Det rådgivande
    • Utveckling av programvara
    • Backend-utveckling
    • Frontend-utveckling
    • Staff Augmentation
    • Backend-utvecklare
    • Ingenjörer inom molntjänster
    • Dataingenjörer
    • Övriga
    • QA-ingenjörer

      Resurser

    • Fakta och myter om att samarbeta med en extern partner för mjukvaruutveckling
    • Från USA till Europa: Varför väljer amerikanska startup-företag att flytta till Europa?
    • Jämförelse av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinerna), Eurasien (Turkiet)
    • Vilka är de största utmaningarna för CTO:er och CIO:er?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Användarvillkor för webbplatsen

    Copyright © 2025 av The Codest. Alla rättigheter reserverade.

    sv_SESwedish
    en_USEnglish de_DEGerman da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek sv_SESwedish