publieke apis
This commit is contained in:
@@ -158,6 +158,20 @@ Geef de voorkeur aan λ boven lambda.
|
||||
- Maak foutafhandeling niet generieker dan nodig.
|
||||
- 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
|
||||
|
||||
- Bewaar lokale configuratie in een kleine, afzonderlijke private module wanneer dat de hoofdmodule eenvoudiger maakt.
|
||||
|
||||
Reference in New Issue
Block a user