Help me codeerkwaliteitsmetingen voor mijn project met Cursor
description
Door deze prompt te gebruiken, kunnen gebruikers systematisch hun codekwaliteit verbeteren, op maat gemaakte begeleiding krijgen bij het implementeren van metrics, en zorgen dat ze de beste praktijken in hun ontwikkelingsproces volgen.
prompt
try_prompt
Ik wil de codekwaliteit van mijn project verbeteren door metingen te implementeren met Cursor. Mijn programmeertaal is {{programmeer_taal}} en d ... more
generate_helper
...
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een gedetailleerd plan om de code coverage metrics in je Python-project effectief op te zetten en te volgen met Cursor:
1. Voorbereiding en installatie
a. Vereisten identificeren:
– Python 3.x geïnstalleerd
– PIP (Python Package Installer)
b. Cursor installeren:
Gebruik pip om Cursor te installeren:
pip install cursor
c. Andere benodigde tools:
Voor code coverage kun je bijvoorbeeld coverage.py gebruiken, dat goed samenwerkt met Cursor.
pip install coverage
2. Configuratie van Cursor en coverage.py
a. Projectstructuur:
Zorg dat je project gestructureerd is, bijvoorbeeld:
/mijn_project
│
├── src/
│ ├── module1.py
│ └── module2.py
├── tests/
│ ├── test_module1.py
│ └── test_module2.py
└── cursor_config.py (optioneel)
b. Cursor configuratie:
Maak een configuratiebestand (bijvoorbeeld cursor_config.py) of gebruik command-line opties om Cursor te configureren:
- Specificeer de te meten directories (bijvoorbeeld src/)
- Definieer testdirectory (bijvoorbeeld tests/)
- Voeg eventueel filters toe voor bepaalde bestanden of directories
3. Integratie van code coverage
a. Coverage instellen:
Maak een script of gebruik command-line om coverage te starten:
coverage run -m unittest discover -s tests
b. Testuitvoering en coverage rapportage:
Na het draaien van tests:
coverage report -m
Of voor een meer visueel rapport:
coverage html
Dit genereert een HTML-bestand dat je in je browser kunt bekijken voor gedetailleerde coverage info.
c. Automatisering met Cursor:
- Configureer Cursor om automatisch de coverage te meten tijdens je CI/CD-pijplijn of lokale tests.
- Gebruik Cursor’s integratie-mogelijkheden om coverage-rapporten te genereren en te koppelen aan je project dashboard.
4. Monitoring en follow-up
a. Regelmatige metingen:
Plan periodieke runs (bijvoorbeeld na elke commit of pull request) om coverage te monitoren.
b. Dashboard en rapportage:
Gebruik Cursor’s dashboards of integreer met tools zoals SonarQube, GitHub Actions, of andere CI-tools om coverage-trends te volgen.
c. Doelen stellen:
Stel minimale coverage-doelen (bijvoorbeeld 80%) en laat de CI-pijplijn falen als deze niet gehaald worden.
d. Analyse en verbetering:
Gebruik de gedetailleerde rapporten om ongedekte code te identificeren en te verbeteren.
5. Best practices
- Zorg dat tests representatief zijn voor je codebasis.
- Voeg coverage-rapporten toe aan je pull requests voor kwaliteitscontrole.
- Houd coverage consistent en verhoog deze waar mogelijk.
- Documenteer je coverage-setup en -doelen voor je team.
6. Documentatie en training
- Schrijf duidelijke documentatie over hoe coverage gemeten wordt.
- Train je ontwikkelaars in het schrijven van tests die de coverage verbeteren.
Door deze stappen te volgen, kun je de codekwaliteit effectief verbeteren door nauwkeurige en regelmatige metingen van je code coverage met Cursor te implementeren en te volgen.
provider: deepseek
model: deepseek-chat
Hier is een gedetailleerd plan om code coverage metingen effectief op te zetten en te volgen in je Python project met Cursor:
## Stap 1: Setup Code Coverage Tools
### 1.1 Kies een coverage tool
```bash
pip install pytest-cov coverage
```
### 1.2 Basis configuratie
Maak een `.coveragerc` bestand:
```ini
[run]
source = .
omit =
*/tests/*
*/venv/*
*/migrations/*
*/__pycache__/*
*/setup.py
[report]
exclude_lines =
pragma: no cover
def __repr__
if self.debug
if settings.DEBUG
raise AssertionError
raise NotImplementedError
```
## Stap 2: Integratie met Cursor
### 2.1 Project configuratie in Cursor
- Open je project in Cursor
- Configureer de build/test commands in Cursor's settings
- Stel de volgende run commands in:
```json
{
"test": "pytest --cov=./ --cov-report=html --cov-report=term",
"coverage": "coverage run -m pytest && coverage report"
}
```
## Stap 3: Test Structuur Opzetten
### 3.1 Project layout
```
project/
├── src/
│ └── your_package/
├── tests/
│ ├── unit/
│ ├── integration/
│ └── conftest.py
├── .coveragerc
├── pytest.ini
└── requirements-test.txt
```
### 3.2 pytest configuratie (pytest.ini)
```ini
[tool:pytest]
testpaths = tests
python_files = test_*.py
python_classes = Test*
python_functions = test_*
addopts = --cov=src --cov-report=html --cov-report=term-missing
```
## Stap 4: Automatisering Implementeren
### 4.1 Pre-commit hooks
```bash
pip install pre-commit
```
Maak `.pre-commit-config.yaml`:
```yaml
repos:
- repo: local
hooks:
- id: coverage
name: Run coverage
entry: coverage run -m pytest
language: system
pass_filenames: false
always_run: true
```
### 4.2 GitHub Actions (optioneel)
Maak `.github/workflows/coverage.yml`:
```yaml
name: Coverage
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
- name: Install dependencies
run: pip install -r requirements.txt -r requirements-test.txt
- name: Run coverage
run: coverage run -m pytest
- name: Upload coverage
uses: codecov/codecov-action@v2
```
## Stap 5: Monitoring en Rapportage
### 5.1 Lokale rapportage
```bash
# Voor gedetailleerde rapportage
pytest --cov=src --cov-report=html
# Open dan coverage/index.html in browser
# Voor terminal output
pytest --cov=src --cov-report=term-missing
```
### 5.2 Coverage thresholds instellen
Voeg toe aan `pytest.ini`:
```ini
addopts = --cov=src --cov-fail-under=80 --cov-report=html --cov-report=term-missing
```
### 5.3 Cursor Tasks maken
Maak herhaalbare tasks in Cursor:
- "Run coverage tests"
- "Generate coverage report"
- "Check coverage thresholds"
## Stap 6: Best Practices voor Effectieve Coverage
### 6.1 Meaningful tests schrijven
- Test zowel happy paths als edge cases
- Gebruik parametrized tests voor verschillende inputs
- Mock externe dependencies
### 6.2 Coverage interpretatie
- Streef naar 80-90% coverage als startpunt
- Focus op kritieke business logic
- Vermijd meaningless coverage door triviale tests
### 6.3 Continue verbetering
- Review coverage rapporten wekelijks
- Identificeer code zonder tests
- Stel team coverage doelen
- Integreer in code review proces
## Stap 7: Geavanceerde Features
### 7.1 Branch coverage
```bash
pytest --cov=src --cov-branch
```
### 7.2 Coverage in CI/CD
- Stel minimum coverage eisen in CI
- Gebruik tools zoals Codecov of Coveralls
- Genereere badges voor README
### 7.3 Historische tracking
- Bewaar coverage rapporten per release
- Track trends over tijd
- Stel improvement targets
## Belangrijke Tips:
1. **Start klein**: Begin met kernmodules en breid uit
2. **Integreer in workflow**: Maak coverage checks onderdeel van je development proces
3. **Gebruik Cursor's AI**: Vraag Cursor om hulp bij het schrijven van tests voor specifieke code
4. **Review regelmatig**: Analyseer coverage rapporten tijdens team meetings
Dit plan geeft je een solide basis voor het meten en verbeteren van code coverage in je Python project met Cursor.

