Ontwikkel een Claude-gedreven Automatische Code Review Assistent
description
Met deze prompt kan de gebruiker snel en efficiënt feedback op zijn code ontvangen zonder handmatige review, waardoor fouten worden verminderd en codekwaliteit verbetert. Het is maatwerk voor verschillende talen en richtlijnen, wat het effectiever maakt dan generieke tools.
prompt
Help me een automatische code review assistent te ontwikkelen met Claude die mijn code analyseert op fouten, stijlproblemen en optimalisaties. Mijn programmeertaal: <voer de ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een stapsgewijze aanpak om een automatische code review assistent te ontwikkelen met Claude, gericht op het analyseren van Python-code op fouten, stijlproblemen en optimalisaties, met speciale aandacht voor PEP8-stijlregels:
1. API Toegang tot Claude
- Zorg dat je toegang hebt tot de API van Claude (bijvoorbeeld via een API-sleutel).
- Installeer benodigde Python-pakketten zoals `requests` voor API communicatie.
2. Verzamel de Code
- Lees de Python-code die je wilt laten controleren vanuit een bestand of string.
3. Opstellen van een Prompt
- Formuleer een duidelijke prompt aan Claude waarin je vraagt om:
* Fouten in de code te identificeren
* Stijlproblemen volgens PEP8 te markeren
* Optimalisaties voor te stellen
- Bijvoorbeeld:
"Analyseer onderstaande Python-code op fouten, stijlproblemen volgens PEP8 en mogelijke optimalisaties. Geef een gedetailleerde feedback."
4. API Aanroep
- Verstuur de code samen met je prompt naar Claude via een API-aanroep.
- Ontvang en verwerk de reactie.
5. Resultaat Verwerken
- Toon de feedback op een overzichtelijke manier.
- Overweeg om automatische correcties of suggesties te implementeren.
6. Voorbeeld Code
Hier is een eenvoudig voorbeeld in Python:
```python
import requests
API_URL = 'https://api.anthropic.com/v1/claude' # of de juiste endpoint
API_KEY = 'jouw_api_sleutel'
def analyseer_code(code):
prompt = (
"Analyseer onderstaande Python-code op fouten, stijlproblemen volgens PEP8 en mogelijke optimalisaties. "
"Geef een gedetailleerde feedback.\n\n"
f"Code:\n{code}\n\nFeedback:"
)
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json',
}
data = {
'model': 'claude-v1', # pas aan afhankelijk van de beschikbare modellen
'prompt': prompt,
'max_tokens': 1000,
'temperature': 0.2,
}
response = requests.post(API_URL, headers=headers, json=data)
if response.status_code == 200:
antwoord = response.json().get('completion', '')
print(antwoord)
else:
print(f"Fout bij API-aanroep: {response.status_code} - {response.text}")
# Lees je code uit een bestand
with open('je_code.py', 'r') as f:
code_inhoud = f.read()
analyseer_code(code_inhoud)
```
7. Verbetering en Automatisering
- Automatiseer dit proces door het te integreren in je ontwikkelworkflow.
- Overweeg om regelmatige checks uit te voeren met bijvoorbeeld een CI/CD pipeline.
Door deze aanpak te volgen, creëer je een krachtige assistent die je helpt bij het verbeteren van je Python-code volgens PEP8 en andere best practices.
provider: deepseek
model: deepseek-chat
Zeker, ik help je graag een automatische code review assistent te ontwikkelen voor Python met focus op PEP8.
## Aandachtspunten voor PEP8 Controle
### 1. **Indentatie en Witruimte**
- 4 spaties per indentatieniveau (geen tabs)
- Maximale regelbreedte: 79 karakters
- Juiste spacing rond operatoren en na komma's
### 2. **Naamgevingsconventies**
- Variabelen/functies: `snake_case`
- Klassen: `CamelCase`
- Constanten: `ALLCAPS`
- Privé-attributen: `_leading_underscore`
### 3. **Imports en Module Structuur**
- Imports geordend (standaard → third-party → lokale)
- Eén import per regel
- Absolute imports boven relative imports
### 4. **Functie- en Methodedefinities**
- Juiste docstring-formattering
- Parameters en return type annotaties
- Consistent gebruik van spaties
### 5. **Commentaar en Documentatie**
- Docstrings volgens Google/PEP257 style
- Inline commentaar op juiste plaats
- Duidelijke, beknopte uitleg
## Implementatie Voorbeeld
```python
import ast
import pep8
from pylint import checkers
from pylint.reporters import BaseReporter
class PEP8Checker:
def __init__(self):
self.style_guide = pep8.StyleGuide()
self.issues = []
def check_code(self, code: str, filename: str = "temp.py"):
"""Controleer code op PEP8 compliance"""
# Controleer basis PEP8 regels
results = self.style_guide.check_files([filename])
# Specifieke checks toevoegen
self._check_line_length(code)
self._check_naming_conventions(code)
self._check_import_order(code)
return self.issues
def _check_line_length(self, code: str):
lines = code.split('\n')
for i, line in enumerate(lines, 1):
if len(line) > 79:
self.issues.append({
'line': i,
'type': 'PEP8',
'message': f'Regel te lang ({len(line)} karakters)',
'severity': 'warning'
})
def _check_naming_conventions(self, code: str):
tree = ast.parse(code)
for node in ast.walk(tree):
if isinstance(node, ast.FunctionDef):
if not node.name.islower() or '_' not in node.name:
self.issues.append({
'line': node.lineno,
'type': 'PEP8',
'message': f'Functienaam "{node.name}" moet snake_case zijn',
'severity': 'error'
})
def _check_import_order(self, code: str):
# Implementeer import order check
pass
# Gebruik:
checker = PEP8Checker()
issues = checker.check_code(your_python_code)
```
## Aanbevolen Tools voor Integratie
- **flake8**: Combineren met PEP8 checking
- **black**: Automatische code formatting
- **pylint**: Uitgebreide statische analyse
- **mypy**: Type checking
Wil je dat ik specifieke checks voor bepaalde code patterns implementeer of een complete review pipeline opzet?