CI/CD met GitHub Actions en DevOps-pijplijnen · Les

Linting en controles van codekwaliteit

Implementeer statische codeanalyse en lintingtools in uw workflows om consistente coderingsstandaarden te handhaven.

Les 3 van 412 stappen

Linting en controles van codekwaliteit is een gratis CI/CD met GitHub Actions en DevOps-pijplijnen-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject CI/CD met GitHub Actions en DevOps-pijplijnen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus CI/CD met GitHub Actions en DevOps-pijplijnen bevat in totaal 4 lessen.

Wat is codekwaliteit?

Heb je ooit gewerkt aan code die moeilijk te begrijpen was of vaak fouten bevatte? Dat is vaak een teken van lage codekwaliteit.

Codekwaliteit verwijst naar hoe goed geschreven, onderhoudbaar, leesbaar en betrouwbaar je software is. Code van hoge kwaliteit is gemakkelijker te gebruiken en gaat minder snel kapot.

Maak kennis met de linter

Linten is een proces dat je code controleert op programmatische en stilistische fouten. Zie het als een spellingcontrole voor je code!

  • Het dwingt coderingsstandaarden af, zoals inspringing, naamgeving van variabelen en regellengte.
  • Het vindt eenvoudige syntaxisfouten of mogelijke bugs voordat je de code uitvoert.

Linters voeren je code niet uit; ze analyseren de structuur ervan.

Statische codeanalyse

Hoewel linten zich vaak op stijl richt, is statische codeanalyse een bredere term. Hierbij wordt je code onderzocht zonder deze uit te voeren om complexere problemen te vinden.

Statische analysetools kunnen het volgende herkennen:

  • mogelijke beveiligingskwetsbaarheden, zoals risico's op SQL-injectie
  • prestatieknelpunten
  • complexe foutpatronen of onbereikbare code

Zowel linten als statische analyse helpen de algehele codekwaliteit te verbeteren.

Voordelen van schone code

Linten en statische analyse integreren in je ontwikkelwerkstroom biedt veel voordelen:

  • Consistentie: zorgt ervoor dat alle code aan afgesproken standaarden voldoet.
  • Fouten vroeg detecteren: vindt fouten voordat ze grotere problemen worden.
  • Betere leesbaarheid: maakt code gemakkelijker te begrijpen voor anderen en voor jezelf in de toekomst.
  • Beter onderhoud: vermindert de inspanning die nodig is voor toekomstige updates en reparaties.

Gereedschappen uit de praktijk

Verschillende programmeertalen hebben hun eigen populaire tools voor linten en statische analyse:

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

In deze les richten we ons op Flake8 voor Python, een eenvoudig maar krachtig hulpmiddel.

Python-linten met Flake8

Flake8 combineert verschillende tools (Pyflakes, pycodestyle, McCabe) om je Python-code te controleren aan de hand van de stijlrichtlijnen van PEP 8 en op veelvoorkomende fouten.

PEP 8 is de officiële stijlgids van Python en stimuleert leesbare, consistente code. Flake8 helpt je deze richtlijnen automatisch te volgen.

Flake8 lokaal uitvoeren

Hier is een klein Python-script met enkele stijlproblemen. Om Flake8 hierop uit te voeren, installeer je het doorgaans (`pip install flake8`) en voer je vervolgens `flake8 your_script.py` uit in je terminal.

Let op de spatiëring en stijlkeuzes. Flake8 zou deze markeren!

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

calculate_sum( 5, 7 )

Linten in je CI-pijplijn

Om consistente codekwaliteit binnen je team te garanderen, kun je linten automatiseren met GitHub Actions. Dat betekent dat de linter automatisch wordt uitgevoerd telkens wanneer code wordt gepusht of een pull-aanvraag wordt geopend.

Als de linter problemen vindt, kan de werkstroom zo worden ingesteld dat deze mislukt. Zo voorkom je dat code van lage kwaliteit wordt samengevoegd in je main-branch.

Voorbeeld van een Flake8-werkstroom

Hier is een eenvoudige GitHub Actions-werkstroom (`.github/workflows/lint.yml`) die Flake8 uitvoert op je Python-project. De werkstroom wordt gestart bij pushes en pull-aanvragen naar de hoofdbranch.

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

Lintingrapporten lezen

Wanneer Flake8 wordt uitgevoerd, geeft het een lijst met problemen weer. Elke regel bevat meestal de bestandsnaam, het regelnummer, het kolomnummer, de foutcode, bijvoorbeeld E231 of W292, en een beschrijving.

  • E (Error): meestal syntaxisfouten of ernstige stijlschendingen.
  • W (Warning): minder ernstige stijlproblemen.

Je doel is vaak om nul lintfouten en -waarschuwingen te hebben voor een schone pijplijn!

Kennistest over linten

Je hebt geleerd hoe belangrijk linten en statische analyse zijn. Laten we je begrip testen!

Samenvatting: linten voor kwaliteit

Goed gedaan! Je hebt onderzocht waarom linten en statische codeanalyse cruciaal zijn voor het behouden van een hoge codekwaliteit in moderne softwareontwikkeling.

  • We hebben linten en statische analyse gedefinieerd.
  • Je hebt geleerd welke voordelen ze bieden voor consistentie en het voorkomen van fouten.
  • Je hebt gezien hoe je tools zoals Flake8 integreert in GitHub Actions-werkstromen.

Door deze controles te automatiseren, zorg je bij elke commit voor schonere en betrouwbaardere code!

Gratis beginnen

Leer CI/CD met GitHub Actions en DevOps-pijplijnen met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Linting en controles van codekwaliteit” gratis?

Ja — de volledige tekst van “Linting en controles van codekwaliteit” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus CI/CD met GitHub Actions en DevOps-pijplijnen wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus CI/CD met GitHub Actions en DevOps-pijplijnen bevat in totaal 4 lessen.

Wat leer ik in “Linting en controles van codekwaliteit”?

Implementeer statische codeanalyse en lintingtools in uw workflows om consistente coderingsstandaarden te handhaven. Je oefent met CI/CD met GitHub Actions en DevOps-pijplijnen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met CI/CD met GitHub Actions en DevOps-pijplijnen te beginnen?

Ervaring vooraf is niet nodig. CI/CD met GitHub Actions en DevOps-pijplijnen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Linting en controles van codekwaliteit”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over CI/CD met GitHub Actions en DevOps-pijplijnen?

Ja. Elke les over CI/CD met GitHub Actions en DevOps-pijplijnen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Triggers en events van workflows
  2. Tests uitvoeren met GitHub Actions
  3. Linting en controles van codekwaliteit
  4. Dependencies cachen voor snellere builds
← Terug naar CI/CD met GitHub Actions en DevOps-pijplijnen