Linting en controles van codekwaliteit
Implementeer statische codeanalyse en lintingtools in uw workflows om consistente coderingsstandaarden te handhaven.
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 --statisticsLintingrapporten 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!
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
- Triggers en events van workflows
- Tests uitvoeren met GitHub Actions
- Linting en controles van codekwaliteit
- Dependencies cachen voor snellere builds