slogan3

Optimaliseer mijn controlelijst voor codebeoordeling met Cursor

description

Door een op maat gemaakte checklist te maken, kan ik grondige beoordelingen garanderen die de codekwaliteit verbeteren, bugs verminderen en een betere samenwerking binnen mijn team bevorderen.

prompt

try_prompt

Help me een uitgebreide controlelijst voor codebeoordeling te maken die is afgestemd op mijn programmeertaal: {{programming_taal}}. Ik wil ervoor zorgen dat mijn beoordelingen essentiële aspecten behandelen zoals code ... more
generate_helper
disclaimerOnPageApi image_legal_disclaimer...

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een uitgebreide controlelijst voor codebeoordeling in Python, gestructureerd op belangrijke aspecten zoals code stijl, functionaliteit, beveiliging en prestaties: **1. Code Stijl en Leesbaarheid** - [ ] Volgt de code de PEP 8 richtlijnen (bijvoorbeeld inspringing, spaties, lijnlengte)? - [ ] Zijn variabelen, functies en klassen duidelijk en beschrijvend benoemd? - [ ] Is de code consistent qua opmaak en stijl door het hele project? - [ ] Worden functies en methoden niet te lang en maken ze één duidelijke taak? - [ ] Worden docstrings gebruikt voor modules, klassen en functies om de functionaliteit uit te leggen? - [ ] Wordt er gebruik gemaakt van duidelijke en consistente naamgevingsconventies? - [ ] Zijn er onnodige of dubbele codefragmenten die kunnen worden samengevoegd of verwijderd? - [ ] Wordt er gebruik gemaakt van Python-idiomen en -conventies? **2. Functionality en Correctheid** - [ ] Functioneert de code volgens de specificaties en requirements? - [ ] Zijn er voldoende tests (unit tests, integratietests) en worden deze correct uitgevoerd? - [ ] Is er gebruik gemaakt van foutafhandeling (try/except blokken) op geschikte plaatsen? - [ ] Worden randgevallen en foutcondities adequaat afgehandeld? - [ ] Is de code modulair en herbruikbaar waar mogelijk? - [ ] Worden dependencies en externe libraries correct gebruikt en beheerd? **3. Beveiliging** - [ ] Worden gebruikersinvoer en externe data gevalideerd en gesanitiseerd om injection-aanvallen te voorkomen? - [ ] Worden gevoelige gegevens (zoals wachtwoorden, API-sleutels) veilig opgeslagen en verwerkt? - [ ] Is er gebruik gemaakt van veilige authenticatie- en autorisatiepraktijken? - [ ] Worden beveiligingslekken zoals SQL-injecties, XSS of CSRF voorkomen? - [ ] Wordt er aandacht besteed aan veilige configuratie- en deploymentpraktijken? **4. Prestaties** - [ ] Wordt er gebruik gemaakt van efficiënte algoritmen en datastructuren? - [ ] Zijn er onnodige bewerkingen of loops die kunnen worden geoptimaliseerd? - [ ] Wordt er rekening gehouden met geheugen- en resourcegebruik? - [ ] Worden caching of lazy loading toegepast waar passend? - [ ] Zijn er mogelijkheden om asynchrone of parallelle verwerking te gebruiken? **5. Documentatie en Samenwerking** - [ ] Is de code voldoende gedocumenteerd voor andere ontwikkelaars? - [ ] Worden comments gebruikt om complexe logica uit te leggen? - [ ] Is er een README of andere documentatie over de setup en het gebruik? - [ ] Wordt er gebruik gemaakt van versiebeheer (bijvoorbeeld Git) en is de commitgeschiedenis logisch en overzichtelijk? - [ ] Wordt er rekening gehouden met teamconventies en afspraken? **6. Overige Best Practices** - [ ] Wordt er gebruik gemaakt van versiebeheer en dependency management (bijvoorbeeld requirements.txt)? - [ ] Zijn er test- en ontwikkelomgevingen gescheiden? - [ ] Wordt er gebruik gemaakt van logging in plaats van print-statements voor debugging? - [ ] Zijn er automatiseringsscripts voor build, test en deployment? Deze lijst kan worden aangepast op basis van je specifieke project of teamafspraken. Het gebruik ervan helpt om de codekwaliteit te verhogen en de samenwerking binnen het team te verbeteren.
provider: deepseek
model: deepseek-chat
Zeker, hier is een uitgebreide controlelijst voor Python-codebeoordeling die je kunt gebruiken om de kwaliteit, veiligheid en onderhoudbaarheid van je code te waarborgen: ### **Algemene Codekwaliteit en Structuur** - [ ] **Leesbaarheid en Onderhoudbaarheid** - Volgt de code PEP 8-stijlconventies (indenting, naamgeving, regel lengtes) - Gebruikt beschrijvende variabele-, functie- en klassennamen - Code is logisch gestructureerd en eenvoudig te volgen - Geen "magic numbers" of hardcoded waarden zonder uitleg - Commentaar is aanwezig waar nodig, maar legt de "waarom" uit, niet de "wat" - [ ] **DRY-principe (Don't Repeat Yourself)** - Vermijdt code duplicatie door hergebruik van functies/klassen - Gemeenschappelijke functionaliteit is abstract naar shared libraries of helpers - [ ] **Modulariteit en Ontwerp** - Code is opgesplitst in logische modules en functies - Functies en klassen hebben een duidelijke, enkele verantwoordelijkheid - Gebruik van geschikte ontwerppatronen waar nodig ### **Functionaliteit en Correctheid** - [ ] **Logica en Algoritmen** - De implementatie lost het probleem correct op - Randgevallen zijn afgehandeld (bijv. lege lijsten, null-waarden, ongeldige invoer) - Geen oneindige lussen of prestatie knelpunten in algoritmes - [ ] **Foutafhandeling** - Gebruik van gepaste exceptions (bijv. `ValueError`, `TypeError`) voor foutscenario's - Try-except blokken zijn specifiek en vangen alleen verwachte exceptions - Foutmeldingen zijn duidelijk en helpend voor debugging - [ ] **Tests** - Unit tests dekken de kernfunctionaliteit en randgevallen - Tests zijn leesbaar en onderhoudbaar - Test naming conventies worden gevolgd (bijv. `test_<functie_naam>_<scenario>`) - Mocking wordt correct toegepast waar nodig ### **Beveiliging** - [ ] **Invoervalidatie en Sanitisatie** - Alle gebruikersinvoer wordt gevalideerd en gesanitised - Gebruik van parameterized queries voor database interacties (voorkomt SQL injectie) - Vermijdt `eval()` en `exec()` tenzij strikt noodzakelijk en veilig uitgevoerd - [ ] **Authenticatie en Autorisatie** - Geen hardcoded credentials of gevoelige informatie in code - Toegangscontroles zijn correct geïmplementeerd waar nodig - [ ] **Veilige Afhankelijkheden** - Gebruikte packages zijn up-to-date en hebben geen bekende kwetsbaarheden - Overweeg tools zoals `safety` of `bandit` voor security scanning ### **Prestaties en Schaalbaarheid** - [ ] **Efficiëntie** - Geen onnodige database queries of netwerk calls in loops - Gebruik van efficiënte data structuren (bijv. sets voor lidmaatschaps tests) - Vermijdt N+1 query problemen bij database toegang - [ ] **Geheugengebruik** - Grote datasets worden verwerkt met generators waar mogelijk - Geen geheugen lekken (bijv. circulaire referenties) - [ ] **Caching** - Caching is geïmplementeerd voor dure operaties waar relevant - Cache invalidatie is correct afgehandeld ### **Python-specifieke Best Practices** - [ ] **Pythonic Code** - Gebruik list/dict/set comprehensions waar appropriate - Correct gebruik van context managers (`with` statement) voor resource management - Gebruik `enumerate()` voor indexen, `zip()` voor parallelle iteratie - [ ] **Type Hinting** - Type hints zijn toegevoegd aan functies en methodes (vanaf Python 3.5+) - Consistent gebruik van type hints in het hele project - [ ] **Dependency Management** - Requirements zijn bijgewerkt in `requirements.txt` of `pyproject.toml` - Geen overbodige packages in dependencies ### **Documentatie en Onderhoud** - [ ] **Code Documentatie** - Docstrings aanwezig voor alle functies, klassen en modules (volgens PEP 257) - Readme files zijn bijgewerkt met setup en gebruik instructies - [ ] **Version Control** - Commit messages zijn beschrijvend en volgen conventies - Geen gevoelige data in commit history - Logische grouping van changes in commits ### **Team Samenwerking** - [ ] **Review Proces** - Code changes zijn klein genoeg voor effectieve reviews - Constructieve feedback wordt gegeven met suggesties voor verbetering - Reviewers vragen om opheldering waar nodig in plaats van aan te nemen - [ ] **Kennisuitwisseling** - Complexe code wordt uitgelegd tijdens reviews - Team standaardisatie wordt bevorderd door consistente feedback Deze lijst kan worden aangepast aan de specifieke behoeften van je project en team. Success met je codebeoordelingen! 🐍