En af mine kollegaer havde engang sendt et code-review afsted til en anden kollega på noget simpel kode, som ikke skulle udløse for mange anmodninger om rettelser.
Og dog - han havde i koden skrevet en kommentar på dansk.
Det er selvfølgelig ikke nogen dødssynd at skrive en kodekommentar på dansk, men det ser nu lidt underligt ud:
/*** Giv klør fem mellem 2 brugere.** @param User $initiator Den bruger som anmoder om klør fem* @param User $accepter Den bruger som accepterer klør fem* @return Coolness Angiver sejheden af highfiven baseret på lydniveauet af klør fem*/function giveHighFive(User $initiator, User $accepter): Coolness{$clapLoudness = $initiator->highfives($accepter);return Coolness::fromClapLoudness($clapLoudness);}
Spol frem til frokostpausen, hvor det blev diskuteret heftigt. De fleste var selvfølgelig enige om, at koden skal skrives på engelsk, og derfor skal kommentarerne da også være det - det er det eneste der giver mening. Dog fyrede jeg en joke af:
Hvis jeg nu laver PHP-syntaksen på dansk, må jeg så gerne skrive kommentarer på dansk?
Joke ved frokostbordet - engang i foråret 2025Efter latteren havde lagt sig, blev det selvfølgelig til en samtale om, hvorvidt det overhovedet er muligt - altså at gøre PHP-syntaksen dansk. Her vidste jeg, at en gut tidligere havde forsøgt at “brittanize” alle keywords i PHP. I repositoriet havde Samuel også været så flink at give en guide til, hvordan man ændrer keywords i PHP-interpreteren.
Det var opskriften på at ændre syntaksens sprog, og derfor må det bestemt være muligt at lave PHP på dansk. Egentlig er det ret simpelt:
<ST_IN_SCRIPTING>"echo" {<ST_IN_SCRIPTING>"ekko" {RETURN_TOKEN_WITH_IDENT(T_ECHO);}
Filen zend_language_scanner.l indeholder de strings, der identificerer tokens i PHP-interpreteren. Det er så nemt - dog er der den hage ved det, at compileren selv bruger PHP-filer til tests og benchmarking, som vi er nødt til at ændre, før den vil compile. F.eks. clicommand.inc:
echo "Requested file '$arg' does not exist.\n";ekko "Requested file '$arg' does not exist.\n";
Det hele endte med en fork af PHP-kildekoden, som du kan finde på min GitHub. Den ligger som en pull request, og i kommentarerne ligger der et kodestykke, som rent faktisk kan køres, hvis man compiler den version med det “danske hack”, jeg har lavet.
<?phpklasse Test{offentlig statisk funktion test(){ekko 'hej verden';}}Test::test();
Det kommer nok aldrig i produktion - men det var en sjov måde at lære, hvordan PHP-interpreteren fungerer under motorhjelmen. Og ja, kommentarerne må godt være på dansk.
