Skip to content

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 een class 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 de type-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 een interface. De afspraak die voor dit project gehanteerd moet worden is als volgt: Een interface wordt altijd gebruikt in combinatie met implements op een class. Is dit niet het geval, dan is het altijd een type.

  • Binnen een class geldt dat je functions en fields altijd een access modifier moet geven. Alles is standaard public in TypeScript, dus voor de duidelijkheid moet je expliciet je access modifiers aangeven.

  • fields in een class met een private access modifier, moeten altijd geschreven worden in de vorm _camelCase.

  • Maak gebruik van get en set functies als je encapsulation wil toepassen op een field van een class.

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.