Typeveiligheid is een eigenschap van code die voorkomt dat data verkeerd gebruikt wordt, zoals tekst optellen bij een getal of een klantrecord aanroepen alsof het een datum is. Een type-veilige taal of tool merkt deze mismatches op en waarschuwt de ontwikkelaar, vaak nog voordat het programma ooit draait.

Denk aan stopcontacten die zo gevormd zijn dat een stekker er maar op één manier in past. Je kunt de verkeerde verbinding niet per ongeluk forceren. Typeveiligheid doet hetzelfde met data: een functie die een prijs in euro’s verwacht, weigert per ongeluk de naam van een klant. Het bekendste voorbeeld in webwerk is TypeScript, dat deze controles bovenop gewone JavaScript zet, zodat hele soorten fouten al tijdens het typen worden gevangen in plaats van in productie.

Dit is iets anders dan validatie. Typeveiligheid gaat erover dat de code het met zichzelf eens is terwijl je hem schrijft. Validatie gaat over het controleren van de echte data die een gebruiker indient. Allebei tellen, en ze werken het best samen: typeveiligheid stopt fouten van ontwikkelaars, validatie stopt foute invoer. Het voordeel groeit mee met de grootte van het team en de codebase. Bij een script van één pagina hou je elk detail nog in je hoofd. Bij een systeem met vijftig bestanden en vier ontwikkelaars werken de types als een contract dat de editor voor iedereen afdwingt, zodat een wijziging in de ene hoek die een andere hoek zou breken meteen wordt gemarkeerd. Die vroege waarschuwing maakt debugging op een groot project draaglijk in plaats van een gokspel.

Bij TopDevs kiezen we standaard voor type-veilige tools op alles wat gaat groeien, omdat een bug opvangen terwijl een ontwikkelaar typt veel goedkoper is dan hem opvangen nadat een klant van de klant erop stuit.