Intensiv DevOps-uddannelse · Lektion

Linting og kontrol af kodekvalitet

Implementér statiske kodeanalyse- og lintingværktøjer i Deres workflows for at opretholde ensartede kodestandarder.

Lektion 3 af 412 trin

Linting og kontrol af kodekvalitet er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad er kodekvalitet?

Har du nogensinde arbejdet med kode, der var svær at forstå eller tilbøjelig til fejl? Det er ofte et tegn på lav kodekvalitet.

Kodekvalitet handler om, hvor velskrevet, vedligeholdelsesvenlig, læsbar og pålidelig din software er. Kode af høj kvalitet er nemmere at arbejde med og mindre tilbøjelig til at gå i stykker.

Mød linteren

Linting er en proces, der kontrollerer din kode for programmeringsmæssige og stilistiske fejl. Tænk på det som en stavekontrol til din kode!

  • Den håndhæver kodningsstandarder som indrykning, navngivning af variabler og linjelængde.
  • Den finder simple syntaksfejl eller potentielle fejl, før du overhovedet kører koden.

Linters udfører ikke din kode; de analyserer dens struktur.

Statisk kodeanalyse

Linting fokuserer ofte på stil, mens statisk kodeanalyse er et bredere begreb. Det indebærer, at man undersøger sin kode uden at udføre den for at finde mere komplekse problemer.

Værktøjer til statisk analyse kan identificere:

  • Potentielle sikkerhedssårbarheder, f.eks. risici for SQL-injektion
  • Flaskehalse i ydeevnen
  • Komplekse fejlmønstre eller kode, der ikke kan nås

Både linting og statisk analyse hjælper med at forbedre den overordnede kodekvalitet.

Fordele ved ren kode

Det giver mange fordele at integrere linting og statisk analyse i dit udviklingsforløb:

  • Konsistens: Sikrer, at al kode følger de aftalte standarder.
  • Tidlig registrering af fejl: Finder fejl, før de udvikler sig til større problemer.
  • Bedre læsbarhed: Gør det nemmere for andre, og for dit fremtidige jeg, at forstå koden.
  • Bedre vedligeholdelse: Reducerer den indsats, der kræves til fremtidige opdateringer og rettelser.

Værktøjer til opgaven

Forskellige programmeringssprog har deres egne populære værktøjer til linting og statisk analyse:

  • JavaScript: ESLint, Prettier
  • Python: Flake8, Pylint, Black
  • Java: Checkstyle, SonarQube

I denne lektion fokuserer vi på Flake8 til Python, et enkelt, men effektivt værktøj.

Linting af Python med Flake8

Flake8 kombinerer flere værktøjer (Pyflakes, pycodestyle, McCabe) for at kontrollere din Python-kode i forhold til PEP 8-stilretningslinjerne og almindelige fejl.

PEP 8 er Pythons officielle stilvejledning, som fremmer læsbar og ensartet kode. Flake8 hjælper dig med automatisk at følge den.

Kør Flake8 lokalt

Her er et lille Python-script med nogle stilproblemer. Hvis du vil køre Flake8 på det, installerer du det typisk (`pip install flake8`) og kører derefter `flake8 your_script.py` i din terminal.

Bemærk mellemrum og stilvalg. Flake8 vil markere dem!

def calculate_sum(  num1, num2 ):
    total = num1 + num2
    print ( total )

calculate_sum( 5, 7 )

Linting i dit CI-forløb

For at sikre ensartet kodekvalitet på tværs af dit team kan du automatisere linting med GitHub Actions. Det betyder, at linteren kører automatisk, hver gang kode pushes, eller en pull request åbnes.

Hvis linteren finder problemer, kan arbejdsgangen konfigureres til at mislykkes, så kode af lav kvalitet ikke kan flettes ind i din hovedgren.

Eksempel på en Flake8-arbejdsgang

Her er en grundlæggende GitHub Actions-arbejdsgang (`.github/workflows/lint.yml`), der kører Flake8 på dit Python-projekt. Den udløses ved kodepush og pull requests til hovedgrenen.

name: Python Linting

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Set up Python
      uses: actions/setup-python@v5
      with:
        python-version: '3.x'
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install flake8
    - name: Run Flake8
      run: |
        flake8 . --count --show-source --statistics

Læsning af lintingrapporter

Når Flake8 kører, viser den en liste over problemer. Hver linje indeholder typisk filnavnet, linjenummeret, kolonnenummeret, fejlkoden, f.eks. E231 eller W292, og en beskrivelse.

  • E (Fejl): Som regel syntaksfejl eller alvorlige stilovertrædelser.
  • W (Advarsel): Mindre kritiske stilproblemer.

Målet er ofte at have nul lintingfejl eller -advarsler for at få et rent procesforløb!

Vidensquiz om linting

Du har lært om betydningen af linting og statisk analyse. Lad os teste din forståelse!

Opsummering: linting for kvalitet

Godt gået! Du har undersøgt, hvordan linting og statisk kodeanalyse er afgørende for at vedligeholde høj kodekvalitet i moderne softwareudvikling.

  • Vi definerede linting og statisk analyse.
  • Vi lærte om deres fordele for konsistens og forebyggelse af fejl.
  • Vi så, hvordan værktøjer som Flake8 integreres i GitHub Actions-arbejdsgange.

Ved at automatisere disse kontroller sikrer du renere og mere pålidelig kode i hver commit!

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Linting og kontrol af kodekvalitet” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Linting og kontrol af kodekvalitet”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Linting og kontrol af kodekvalitet”?

Implementér statiske kodeanalyse- og lintingværktøjer i Deres workflows for at opretholde ensartede kodestandarder. Du øver dig i Intensiv DevOps-uddannelse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Linting og kontrol af kodekvalitet”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Workflow-triggere og events
  2. Kørsel af tests med GitHub Actions
  3. Linting og kontrol af kodekvalitet
  4. Caching af afhængigheder til hurtigere builds
← Tilbage til Intensiv DevOps-uddannelse