Code Conventies¶
Ook bij dit project is het van belang dat je bepaalde standaarden aanhoudt, zeker nu je project steeds groter wordt.
Op het gebied van HTML, CSS en TypeScript verandert er weinig, je dient nog steeds de HBO-ICT Code conventies te hanteren.
TypeScript¶
Op bovenstaande website staan ook code conventies specifiek voor TypeScript beschreven.
Hier missen echter een paar regels, en sommige regels zijn niet in lijn met hoe we dit project willen aanvliegen. Houd dus bovenstaande regels aan, maar:
-
Indien je een geëxporteerde
class
in een.ts
-bestand hebt, geef je het.ts
-bestand de naam van je class in PascalCase, bijvoorbeeld:MyComponent.ts
als je eenclass MyComponent extends HTMLElement
hebt. -
Voor bovenstaande regel geldt ook dat elke geëxporteerde
class
zijn eigen.ts
-bestand heeft. -
Het is ook toegestaan om één of meerdere geëxporteerde
type
-definities (samen) in een.ts
-bestand te zetten. De naam.ts
-bestand is dan in camelCase. -
Voor een documentatie-blok gebruikt je niet
/* ... */
, maar/** ... */
. Elke extra regel commentaar in het blok, begint dan ook met een*
. Dit zorgt ervoor dat VSCode je documentatie ook als documentatie behandelt. -
In TypeScript kun je objecten op twee manieren beschrijven: zowel als een
type
of als eeninterface
. De afspraak die voor dit project gehanteerd moet worden is als volgt: Je gebruikt altijd eentype
. -
Binnen een
class
geldt dat je functions en fields altijd een access modifier moet geven. Alles is standaardpublic
in TypeScript, dus voor de duidelijkheid moet je expliciet je access modifiers aangeven. -
fields in een
class
met eenprivate
access modifier, moeten altijd geschreven worden in de vorm_camelCase
. -
Maak gebruik van
get
enset
functies als je encapsulation wilt toepassen op een field van eenclass
. De uitzondering is als jeasync
nodig hebt in je getter/setter, dan geef je de functie een logische naam.
Deze regels kunnen veranderen!
Afhankelijk van de situaties die we in de code van projecten gaan tegenkomen, kunnen deze regels verscherpen of versoepelen. Het is daarom handig om eens in de zoveel tijd deze pagina even opnieuw te lezen.