publieke apis
This commit is contained in:
@@ -158,6 +158,20 @@ Geef de voorkeur aan λ boven lambda.
|
|||||||
- Maak foutafhandeling niet generieker dan nodig.
|
- Maak foutafhandeling niet generieker dan nodig.
|
||||||
- Als een externe executable of voorziening ontbreekt, meld precies wat ontbreekt en wat de gebruiker kan doen.
|
- Als een externe executable of voorziening ontbreekt, meld precies wat ontbreekt en wat de gebruiker kan doen.
|
||||||
|
|
||||||
|
## Gebruik van modules en dependencies
|
||||||
|
|
||||||
|
- Gebruik **nooit de interne datastructuur van een module/dependency**, tenzij die datastructuur publiek is,
|
||||||
|
d.w.z. onderdeel van de Application Programming Interface.
|
||||||
|
- Als een API ontoereikend is, d.w.z. er missende functionaliteit is in de provided functions of
|
||||||
|
public/protected functions van een class, dan werk je daar niet omheen door de interne data-
|
||||||
|
structuur rechtstreeks te gebruiken, maar signaleer je dat en stelt een API uitbreiding voor.
|
||||||
|
- Respecteer de publieke API van dependencies. Gebruik geen interne datastructuren of ongedocumenteerde representatie.
|
||||||
|
- Als de publieke API noodzakelijke functionaliteit, een predicate of een accessor mist, meld dit expliciet
|
||||||
|
als een API-tekort. Verberg dit niet met een lokale wrapper, een zwakker contract zoals `any/c`, of directe inspectie
|
||||||
|
van de interne datastructuur.
|
||||||
|
- Stel voor de dependency-API gericht uit te breiden. Pas pas een lokale workaround toe wanneer de gebruiker daar
|
||||||
|
bewust voor kiest.
|
||||||
|
|
||||||
## Configuratie
|
## Configuratie
|
||||||
|
|
||||||
- Bewaar lokale configuratie in een kleine, afzonderlijke private module wanneer dat de hoofdmodule eenvoudiger maakt.
|
- Bewaar lokale configuratie in een kleine, afzonderlijke private module wanneer dat de hoofdmodule eenvoudiger maakt.
|
||||||
|
|||||||
Reference in New Issue
Block a user