๐Ÿ‘จโ€๐Ÿ’ป Developer Guidelines

โ† Terug naar Develop

Developer Guidelines (richtlijnen) beschrijven de algemene ontwikkelprincipes en werkwijzen die worden toegepast bij het realiseren van Power Platform-oplossingen.

Deze richtlijnen vormen de basis voor alle ontwikkelactiviteiten, ongeacht de gebruikte techniek, component of implementatievorm.

Build once. Maintain for years.


๐ŸŽฏ Doel

Developer Guidelines helpen teams bij:

De richtlijnen ondersteunen:


๐Ÿง  Wat zijn Developer Guidelines?

Developer Guidelines beschrijven de algemene uitgangspunten die gelden voor alle ontwikkelactiviteiten binnen Power Platform.

Waar specifieke richtlijnen (zoals JavaScript, Cloud Flows of Plugins) beschrijven hoe een component wordt ontwikkeld, beschrijven Developer Guidelines welke principes en keuzes daarbij gehanteerd worden.

Deze pagina vormt daarmee de basis voor alle onderliggende ontwikkelrichtlijnen.


๐Ÿ›๏ธ Algemene Ontwikkelprincipes

Binnen Power Platform worden de volgende uitgangspunten gehanteerd.


โœ… Standard First

Gebruik standaard Power Platform-functionaliteit waar mogelijk.

Richtlijnen

Voordelen

Vermijd

๐Ÿšซ Maatwerk terwijl standaardfunctionaliteit beschikbaar is


โœ… Configuration Before Code

Configuratie heeft altijd de voorkeur boven maatwerkcode.

Voorkeursvolgorde

Configuratie
    โ†“
Business Rules
    โ†“
Cloud Flows
    โ†“
JavaScript
    โ†“
Plugins / Custom API's

Doel

Het beperken van complexiteit en onderhoudslast.

Vermijd

๐Ÿšซ Direct maatwerk ontwikkelen zonder alternatieven te onderzoeken


โœ… Simplicity Before Complexity

Oplossingen moeten zo eenvoudig mogelijk blijven.

Richtlijnen

Vermijd

๐Ÿšซ Complexe oplossingen voor eenvoudige problemen

๐Ÿšซ Techniek zonder duidelijke businesswaarde


โœ… Reuse Before Rebuild

Hergebruik bestaande componenten waar mogelijk.

Richtlijnen

Voorbeelden

Vermijd

๐Ÿšซ Dubbele implementaties

๐Ÿšซ Functionaliteit opnieuw bouwen zonder noodzaak


๐Ÿ—๏ธ Scheiding van Verantwoordelijkheden

Binnen Power Platform wordt een duidelijke scheiding aangebracht tussen verschillende lagen.

Laag Voorbeelden
Data Tables, Columns, Relationships
Configuration Apps, Forms, Views, Choices, Environment Variables
User Experience JavaScript, Form Scripting, Ribbon Customization
Business Logic Business Rules, JavaScript, Plugins, Custom API's
Automation Cloud Flows, Approval Flows, Scheduled Processing
Integration Connectors, Custom Connectors, API's

Richtlijnen


๐Ÿ“ฆ Solution First Development

Ontwikkeling vindt altijd plaats binnen Solutions.

Richtlijnen

โœ… Werk altijd binnen een Solution

โœ… Gebruik een Publisher

โœ… Gebruik de afgesproken Solutionstructuur

โœ… Beheer afhankelijkheden actief

Vermijd

๐Ÿšซ Ontwikkelen in de Default Solution

๐Ÿšซ Componenten zonder Publisher Prefix

๐Ÿšซ Onduidelijke Solutionindeling


๐Ÿท๏ธ Consistentie & Uniformiteit

Consistentie is essentieel voor samenwerking en onderhoudbaarheid.

Richtlijnen

Voorbeelden

Doel

Oplossingen begrijpelijk houden voor andere consultants en developers.


โš™๏ธ Technologiekeuze

Voor iedere functionele behoefte wordt bewust gekozen welke techniek wordt toegepast.

Voorkeursvolgorde

Situatie Voorkeur
Eenvoudige validatie Business Rule
Procesautomatisering Cloud Flow
UI-interactie JavaScript
Server-side logica Plugin
Externe aanroep Custom API

Richtlijnen


๐Ÿงฉ Herbruikbaarheid

Herbruikbaarheid voorkomt duplicatie en versnelt ontwikkeling.

Richtlijnen

Voorbeelden


๐Ÿ”ง Onderhoudbaarheid

Oplossingen moeten eenvoudig kunnen worden aangepast en uitgebreid.

Richtlijnen

Belangrijke vraag

Kan een andere consultant deze oplossing eenvoudig begrijpen en onderhouden?


๐Ÿ”„ Samenwerking & Werkwijze

Ontwikkeling gebeurt binnen projectteams en volgens afgesproken ALM-processen.

Richtlijnen

Doel

Kwaliteit en voorspelbaarheid verhogen.


๐Ÿ“ˆ Technical Debt Awareness

Technical Debt ontstaat vaak tijdens ontwikkeling.

Richtlijnen

Vermijd

๐Ÿšซ Tijdelijke oplossingen permanent laten bestaan

๐Ÿšซ Technical Debt verbergen


๐Ÿ”— Relatie met andere onderwerpen

Developer Guidelines beschrijven de algemene ontwikkelprincipes die gelden voor alle Power Platform componenten.

De onderstaande onderwerpen werken deze principes verder uit voor specifieke onderdelen van het platform.

Onderwerp Relatie
Solution Development Beschrijft hoe oplossingen worden gestructureerd, opgesplitst en beheerd.
Naming Conventions Beschrijft de standaarden voor consistente naamgeving van componenten.
Entity Guidelines Werkt de richtlijnen uit voor datamodellering en tabelontwerp.
Environment Variables Beschrijft het beheer van omgevingsspecifieke configuratie.
Model-Driven Apps Richtlijnen voor het ontwerpen en configureren van gebruikersapplicaties.
Business Rules Richtlijnen voor configuratiegedreven businesslogica.
JavaScript Richtlijnen voor client-side ontwikkeling en gebruikersinteractie.
Cloud Flows Richtlijnen voor procesautomatisering met Power Automate.
Plugins & Custom API's Richtlijnen voor server-side maatwerkontwikkeling.
Integrations Richtlijnen voor koppelingen met externe systemen en diensten.
Reusable Components Richtlijnen voor hergebruik en standaardisatie van componenten.

๐Ÿ‘‰ Developer Guidelines vormen het fundament waarop alle specifieke ontwikkelrichtlijnen binnen Power Platform zijn gebaseerd.


โœ… Best Practices

Doe

โœ” Gebruik standaardfunctionaliteit waar mogelijk

โœ” Kies configuratie boven maatwerkcode

โœ” Houd oplossingen eenvoudig

โœ” Pas hergebruik toe

โœ” Werk altijd binnen Solutions

โœ” Volg Naming Conventions

โœ” Gebruik Source Control en Branching

โœ” Documenteer uitzonderingen


Vermijd

โœ˜ Ontwikkelen in de Default Solution

โœ˜ Onnodig maatwerk

โœ˜ Dubbele implementaties

โœ˜ Over-engineering

โœ˜ Hardcoded configuratie

โœ˜ Onduidelijke eigenaarschap

โœ˜ Inconsistente naamgeving


๐Ÿ“Œ Samenvatting

Developer Guidelines vormen de basis voor alle ontwikkelactiviteiten binnen Power Platform.

De belangrijkste uitgangspunten zijn:

๐Ÿ‘‰ Door deze richtlijnen consequent toe te passen ontstaan Power Platform-oplossingen die schaalbaar, onderhoudbaar, begrijpelijk en toekomstbestendig zijn.