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. Hou 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 LitElement
hebt. -
Voor bovenstaande regel geldt ook dat elke geëxporteerde
class
zijn eigen.ts
-bestand heeft. -
Het is ook toegestaan om een geëxporteerde
type
-definitie in zijn eigen.ts
-bestand te zetten. Ook dan geef je het.ts
-bestand de naam van detype
-definitie in PascalCase. -
Voor een documentatie-blok gebruikt je niet
/* ... */
, maar/** ... */
. Elke extra regel commentaar in het blok, begint dan ook met een*
. Dit zorgt ervoor dat VS Code je documentatie ook als documentatie behandelt. -
Indien je om een goede rede meerdere types, classes en interface in één
.ts
-bestand hebt staan, geef het.ts
-bestand dan een logische naam in camelCase. -
In TypeScript kan 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: Eeninterface
wordt altijd gebruikt in combinatie metimplements
op eenclass
. Is dit niet het geval, dan is het 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 wil toepassen op een field van eenclass
.
Waarschuwing: 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. Onderaan vind je de datum waarop deze voor het laatst is aangepast.