Case Styles: geen spaties maar toch leesbaar
TL;DR
- Normal case
- lowercase
- UPPERCASE
- camelCase
- PascalCase
- snake_case
- kebab-case
Introductie
In de meeste programmeertalen mag je geen spaties gebruiken voor bijvoorbeeld functienamen. Maar hoe kan je dan op een goede manier toch meerdere woorden gebruiken? Welke oplossingen zijn er? En hoe blijft de code leesbaar?
Wat betekent ‘case’?
Voor het engelse woord ‘case’ is er niet echt een hedendaagse vertaling. Het is geen tas, zaak, geval of kast, maar we bedoelen betekenis van de letterkast uit de tijd van de boekdrukkunst. Met deze vertaling wordt deze blog een heel onduidelijk verhaal, dus we gebruiken maar gewoon de engelse benamingen.
Normal Case
Normal Case komt in de meeste programmeertalen niet voor. Dit komt omdat je geen spaties mag gebruiken maar dat gebeurt bij Normal Case wel.
Stel we hebben een functie geschreven waarmee we zonsopkomst kunnen berekenen*.
In normal case zou je zoiets willen schrijven (PHP-voorbeeld):
function Calculate sunrise(string $lat, string $long)
{
// ..
}
Uiteraard krijgen we nu een error, want PHP snapt ‘Calculate’ niet. We moeten dus iets met de spatie.
lowercase
Met Lower Case gebruik je alleen kleine letters. Echt leesbaar is dit niet, zeker als je meer dan twee woorden gebruikt.
function calculatesunrise(…)
{
// ..
}
UPPERCASE
Upper Case zijn alleen maar hoofdletters. Dit is even leesbaar als lowercase, dus ook geen hele fijne oplossing.
function CALCULATESUNRISE(…)
{
// ..
}
camelCase
Dan komen we nu bij wat bijzondere varianten. Camel Case: het eerste woord begint met een kleine letter, alle volgende woorden beginnen met een hoofdletter. Je ziet nu in een oogopslag twee woorden die je vrij gemakkelijk kunt lezen.
function calculateSunrise(…)
{
// ..
}
PascalCase
Pascal Case lijkt op het vorige voorbeeld alleen hier beginnen alle woorden met een hoofdletter.
function CalculateSunrise(…)
{
// ..
}
snake_case
Snake Case is misschien nog wel het meest pragmatische alternatief voor spaties. Vervang alle spaties voor een underscore. Je behoudt leesbaarheid én de compiler snapt het ook.
function calculate_sunrise(…)
{
// ..
}
kebab-case
Kebab Case lijkt weer heel erg op Snake Case. Alle spaties en andere vreemde tekens worden vervangen voor een dash.
function calculate-sunrise(…)
{
// ..
}
PHP had altijd een functie voor Sunset en Sunrise, maar die zijn in PHP 8.1 vervallen.