slogan3

Creëer heldere en consistente coding standards voor mijn project

description

Met deze prompt krijg je op maat gemaakt advies voor het opstellen van coding standards die jouw codebase overzichtelijk en onderhoudbaar maken, en die bijdragen aan een betere samenwerking binnen je team. Dit voorkomt misverstanden en inconsistenties in code die vaak bij grote projecten optreden.

prompt

Help me bij het opstellen van duidelijke en consistente coding standaarden en richtlijnen voor mijn softwareproject om de codekwaliteit en samenwerking binne ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een voorstel voor duidelijke en consistente coding standaarden en richtlijnen voor jouw webapplicatieproject, met de nadruk op leesbaarheid: **Coding Standaarden en Richtlijnen voor Webapplicatie** 1. **Algemene principes** - Schrijf code die gemakkelijk te begrijpen is voor anderen. - Vermijd complexe constructies tenzij noodzakelijk. - Gebruik duidelijke en beschrijvende namen voor variabelen, functies en componenten. - Voeg waar mogelijk inline commentaar toe om de logica toe te lichten. 2. **Code-indeling en stijl** - Gebruik een consistente inspringing (bijvoorbeeld 2 of 4 spaties). - Plaats haakjes op een nieuwe regel of op dezelfde regel, afhankelijk van de gekozen style guide (bijvoorbeeld ESLint's standaard). - Beperk de lengte van regels tot maximaal 80-100 tekens. - Gebruik duidelijke scheidingen tussen logische blokken, zoals lege regels. 3. **Naamgeving** - Variabelen: gebruik camelCase (bijvoorbeeld `gebruikersNaam`). - Functies: gebruik werkwoord + zelfstandig naamwoord, ook in camelCase (bijvoorbeeld `verwerkAanvraag()`). - CSS-klassen en ID's: gebruik kebab-case (bijvoorbeeld `knop-verzenden`). - Constants: gebruik UPPER_CASE_SNAKE_CASE (bijvoorbeeld `MAX_LENGTE`). 4. **Documentatie en commentaar** - Voeg JSDoc-stijl commentaar toe bij complexe functies en modules. - Documenteer de intentie en werking van belangrijke codeblokken. - Vermijd overbodige commentaar dat de code niet verduidelijkt. 5. **Structuur van de code** - Organiseer bestanden logisch (bijvoorbeeld scheiding van componenten, services, utils). - Houd functies klein en gericht op één taak. - Gebruik duidelijke en consistente mappenstructuur. 6. **Gebruik van externe libraries en dependencies** - Voeg alleen noodzakelijke dependencies toe. - Houd dependencies up-to-date. - Documenteer waarom bepaalde libraries worden gebruikt. 7. **Error handling** - Behandel fouten op een consistente wijze. - Geef duidelijke foutmeldingen. - Gebruik try-catch blokken waar nodig. 8. **Testing** - Schrijf unit- en integratietests voor belangrijke functies. - Gebruik herkenbare teststructuren en naming conventions. - Zorg dat tests gemakkelijk te begrijpen en te onderhouden zijn. 9. **Versiebeheer** - Gebruik duidelijke commit-berichten. - Volg een branch-strategie (bijvoorbeeld Git Flow). 10. **Code review** - Stimuleer regelmatige code reviews. - Geef constructieve feedback gericht op leesbaarheid en consistentie. **Aanbevelingen** - Implementeer een linter (bijvoorbeeld ESLint voor JavaScript) die deze standaarden controleert. - Stel een style guide op (bijvoorbeeld Airbnb JavaScript Style Guide) en pas deze aan naar jullie voorkeuren. - Organiseer regelmatige team meetings om standaarden te bespreken en aan te passen. Door deze richtlijnen te volgen, wordt de code binnen je team overzichtelijker, beter te onderhouden en wordt de samenwerking versterkt.
provider: deepseek
model: deepseek-chat
Zeker! Hier zijn duidelijke en consistente coding standaarden voor je webapplicatieproject, met focus op leesbaarheid: ## 📋 Algemene Richtlijnen - **Consistentie boven perfectie**: Kies een stijl en houd deze door het hele project aan - **Zelfdocumenterende code**: Gebruik betekenisvolle namen in plaats van commentaar waar mogelijk - **KISS-principe**: Keep It Simple and Straightforward ## 🏷️ Naamgevingsconventies **Variabelen & functies** (camelCase): ```javascript // Goed const gebruikersnaam = 'Jan'; function haalGebruikersGegevens() { } // Vermijden const un = 'Jan'; // te kort function getusr() { } // onduidelijk ``` **Klassen** (PascalCase): ```javascript class GebruikerBeheerder { constructor() { } } ``` **Constanten** (UPPERCASE met underscore): ```javascript const MAX_AANTAL_POGINGEN = 3; const API_BASIS_URL = 'https://api.voorbeeld.nl'; ``` ## 📝 Code Structuur **Maximale functielengte**: 20-30 regels **Bestandsgrootte**: Maximaal 300-400 regels **Imports geordend**: Eerst externe dependencies, dan interne modules ```javascript // Goede volgorde import React from 'react'; import { gebruikersService } from '../services'; import { GebruikerKaart } from '../components'; ``` ## 🎨 Opmaak & Formattering **Inspringing**: 2 spaties (nooit tabs) **Regellengte**: Maximaal 80-100 karakters **Haakjes consistent**: ```javascript // Functie declaratie function toonMelding(bericht) { // code } // Anonieme functie const verwerkData = (data) => { // code }; ``` ## 💬 Commentaar **Waarom, niet wat**: Leg de intentie uit, niet de implementatie **JSDoc voor complexe functies**: ```javascript /** * Bereken de totale prijs inclusief BTW * @param {number} bedrag - Bedrag exclusief BTW * @param {number} btwPercentage - BTW percentage (standaard 21) * @returns {number} Totaalbedrag inclusief BTW */ function berekenTotaal(bedrag, btwPercentage = 21) { return bedrag * (1 + btwPercentage / 100); } ``` ## 🧩 Component Richtlijnen (Webapplicatie) **React Componenten**: ```javascript // Functionele componenten const GebruikerProfiel = ({ gebruiker, opUpdate }) => { const [isBewerken, setIsBewerken] = useState(false); return ( <div className="gebruiker-profiel"> {/* component inhoud */} </div> ); }; ``` ## 🔍 Leesbaarheid Tips 1. **Vermijd geneste code**: Gebruijk guard clauses ```javascript // Liever dit: function verwerkBestelling(bestelling) { if (!bestelling.geldig) return null; // Hoofdlogica hier } // Dan dit: function verwerkBestelling(bestelling) { if (bestelling.geldig) { // Geneste code } } ``` 2. **Descriptieve condities**: ```javascript // Goed const isGebruikerActief = gebruiker.status === 'actief'; if (isGebruikerActief) { } // Minder goed if (gebruiker.status === 'actief') { } ``` ## 🛠️ Tooling Aanbevelingen - **ESLint** met prettier voor automatische formatting - **Husky** voor pre-commit hooks - **Lint-staged** om alleen gewijzigde bestanden te controleren ## 📚 Team Afspraken - **Code reviews** verplicht voor elke merge - **Weekelijkse sync** over code kwaliteit - **Gedeelde eigenaarschap** van code stijl Wil je dat ik specifieke onderwerpen verder uitwerk of voorbeelden geef voor bepaalde programmeertalen?