type safety
/taɪp ˈseɪf.ti/zelfstandig naamwoord
Type safety is de mate waarin een programmeertaal voorkomt dat een waarde wordt gebruikt op een manier die niet past bij het type ervan. Een typecontrole kan zulke fouten tijdens het programmeren, compileren of uitvoeren signaleren.
Dankzij de type safety meldde de compiler dat de functie een getal verwachtte in plaats van tekst.
Een type beschrijft wat voor soort waarde een programma verwerkt, bijvoorbeeld tekst, een getal of een klantrecord. Type safety helpt bewaken welke bewerkingen bij zo'n waarde zijn toegestaan. Zo kan een typecontrole melden dat code tekst probeert op te tellen bij een getal of een ontbrekend veld uitleest.
Wanneer vindt de controle plaats?
Bij statische typecontrole controleert een compiler of ander hulpmiddel de typen voordat de software draait. Daardoor kan een developer veel fouten al tijdens het schrijven of bouwen van de code vinden. TypeScript voegt deze vorm van controle bijvoorbeeld toe aan JavaScript.
Bij dynamische typecontrole wordt pas tijdens het uitvoeren bepaald of een bewerking geldig is. Een taal kan dus type safe zijn zonder alle typefouten vooraf te vinden. Hoe streng de controle is, hangt bovendien af van de taal en de gekozen instellingen. Sommige systemen bieden bewust mogelijkheden om de typecontrole op bepaalde plekken te omzeilen.
Wat type safety wel en niet controleert
Type safety richt zich op fouten waarbij waarden en bewerkingen niet bij elkaar passen. Een functie die een klantnummer verwacht, kan bijvoorbeeld weigeren om een volledig klantobject te accepteren. Zulke expliciete afspraken helpen om fouten te vinden wanneer code verandert.
De controle bewijst niet dat de software inhoudelijk correct is. Een berekening kan geldige getallen ontvangen en toch de verkeerde uitkomst geven. Ook gegevens uit een formulier, Woordenboek · In het kortAPIEen API is een vastgelegde manier waarop software gegevens uitwisselt of functies van andere software aanroept, zonder de interne werking daarvan te hoeven kennen.Lees meer of Woordenboek · In het kortdatabaseEen database is een gestructureerde verzameling gegevens die software kan opslaan, opvragen en wijzigen. Een databasebeheersysteem regelt de toegang tot die gegevens.Lees meer moeten tijdens het uitvoeren worden gevalideerd: een statisch type zegt niet automatisch dat externe gegevens werkelijk aan dat type voldoen. Daarom wordt type safety meestal gecombineerd met tests en validatie.