DevOps-bootcamp · leksjon

Linting og kodekvalitetskontroller

Implementer verktøy for statisk kodeanalyse og linting i arbeidsflytene for å opprettholde ensartede kodestandarder.

Leksjon 3 av 412 trinn

Linting og kodekvalitetskontroller er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva er kodekvalitet?

Har du noen gang jobbet med kode som var vanskelig å forstå eller utsatt for feil? Det er ofte et tegn på lav kodekvalitet.

Kodekvalitet handler om hvor godt skrevet, vedlikeholdbar, lesbar og pålitelig programvaren din er. Kode av høy kvalitet er enklere å jobbe med og har mindre sannsynlighet for å gå i stykker.

Bli kjent med linteren

Linting er en prosess som kontrollerer koden din for programmeringsmessige feil og stilfeil. Tenk på det som en stavekontroll for koden din!

  • Den håndhever kodestandarder som innrykk, navngivning av variabler og linjelengde.
  • Den oppdager enkle syntaksfeil eller potensielle feil før du i det hele tatt kjører koden.

Lintere kjører ikke koden din; de analyserer strukturen.

Statisk kodeanalyse

Selv om linting ofte fokuserer på stil, er statisk kodeanalyse et bredere begrep. Det innebærer å undersøke koden din uten å kjøre den for å finne mer komplekse problemer.

Verktøy for statisk analyse kan identifisere:

  • Potensielle sikkerhetssårbarheter (f.eks. risiko for SQL-injeksjon)
  • Ytelsesflaskehalser
  • Komplekse feilsmønstre eller kode som ikke kan nås

Både linting og statisk analyse bidrar til å forbedre den samlede kodekvaliteten.

Fordeler med ren kode

Å integrere linting og statisk analyse i utviklingsarbeidsflyten gir mange fordeler:

  • Samsvar: Sørger for at all kode følger avtalte standarder.
  • Tidlig feildeteksjon: Oppdager feil før de blir større problemer.
  • Bedre lesbarhet: Gjør det enklere for andre (og deg selv i fremtiden!) å forstå koden.
  • Bedre vedlikeholdbarhet: Reduserer innsatsen som kreves for fremtidige oppdateringer og rettelser.

Verktøyene du trenger

Ulike programmeringsspråk har sine egne populære verktøy for linting og statisk analyse:

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

I denne leksjonen fokuserer vi på Flake8 for Python, et enkelt, men kraftig verktøy.

Linting av Python med Flake8

Flake8 kombinerer flere verktøy (Pyflakes, pycodestyle, McCabe) for å kontrollere Python-koden din mot retningslinjene for kodestil i PEP 8 og vanlige feil.

PEP 8 er Pythons offisielle stilguide og fremmer lesbar og konsekvent kode. Flake8 hjelper deg å følge den automatisk.

Kjøre Flake8 lokalt

Her er et lite Python-skript med noen stilproblemer. For å kjøre Flake8 på det installerer du det vanligvis (`pip install flake8`) og kjører deretter `flake8 your_script.py` i terminalen.

Legg merke til mellomrommene og stilvalgene. Flake8 ville rapportert disse!

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

calculate_sum( 5, 7 )

Linting i CI-pipelinen din

For å sikre jevn kodekvalitet i hele teamet kan du automatisere linting med GitHub Actions. Det betyr at hver gang kode pushes eller en pull request åpnes, kjører linteren automatisk.

Hvis linteren finner problemer, kan workflowen konfigureres til å mislykkes, slik at kode av lav kvalitet hindres i å bli flettet inn i main-grenen.

Eksempel på en Flake8-workflow

Her er en grunnleggende GitHub Actions-workflow (`.github/workflows/lint.yml`) som kjører Flake8 på Python-prosjektet ditt. Den utløses ved pushes og pull requests til main-grenen.

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

Lese linting-rapporter

Når Flake8 kjører, skriver det ut en liste over problemer. Hver linje inneholder vanligvis filnavn, linjenummer, kolonnenummer, feilkode (f.eks. E231, W292) og en beskrivelse.

  • E (Feil): Vanligvis syntaksfeil eller alvorlige stilbrudd.
  • W (Advarsel): Mindre kritiske stilproblemer.

Målet ditt er ofte å ha null linting-feil og -advarsler for en feilfri pipeline!

Kunnskapstest om linting

Du har lært om betydningen av linting og statisk analyse. La oss teste forståelsen din!

Oppsummering: linting for kvalitet

Godt arbeid! Du har utforsket hvordan linting og statisk kodeanalyse er avgjørende for å opprettholde høy kodekvalitet i moderne programvareutvikling.

  • Vi definerte linting og statisk analyse.
  • Vi lærte om fordelene deres for samsvar og forebygging av feil.
  • Vi så hvordan verktøy som Flake8 integreres i GitHub Actions-workflows.

Ved å automatisere disse kontrollene sørger du for renere, mer pålitelig kode i hver commit!

Gratis å komme i gang

Lær deg DevOps-bootcamp med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
142
Leksjoner
568

Ofte stilte spørsmål

Er leksjonen «Linting og kodekvalitetskontroller» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Linting og kodekvalitetskontroller», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva lærer jeg i «Linting og kodekvalitetskontroller»?

Implementer verktøy for statisk kodeanalyse og linting i arbeidsflytene for å opprettholde ensartede kodestandarder. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med DevOps-bootcamp?

Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Linting og kodekvalitetskontroller»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?

Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Utløsere og hendelser for arbeidsflyter
  2. Kjøre tester med GitHub Actions
  3. Linting og kodekvalitetskontroller
  4. Bufring av avhengigheter for raskere bygg
← Tilbake til DevOps-bootcamp