Rasmus​.krats​.se

This page in English

Keep It Short & Simple

Publicerad 2025-12-15 22:20. Taggat , .

De flesta erfarna programmerare känner igen uppmaningen KISS, och vet att den uttyds Keep It Simple, Stupid. Översatt till svenska blir det Håll det enkelt, dummer, eller kanske möjligen lite snäll­tolkat Håll det enkelt (och) dumt.

Jag tycker förkortningen borde uttydas Keep It Short (and) Simple, eller Håll det kort och enkelt.

Att folk i allmänhet känner till – och många till och med följer – uppmaningen är bra. Och det beror nog delvis på att det är lite tufft att kalla programkod, och de som skrev den, för dum. Men jag har två invändningar.

Den första är att världen i allmänhet, och kanske programmerings­världen i synnerhet, behöver mera gemenskap, förståelse, och uppmuntran och mindre av det är coolt att vara elak.

Den andra invändningen ligger i själva orsaken till att uppmaningen KISS behövs över huvud taget. Programkod ska inte bara kunna köras och göra rätt saker, den ska också kunna underhållas, justeras, och rättas. Om någon ska kunna underhålla koden behöver någon förstå koden. Denna någon är kanske en ny utvecklare i ditt team eller någon som tar över när du har slutat. Eller du själv några månader eller år senare.

När det gäller att förstå koden i ett program finns det ett hinder som vida överstiger alla andra. Man kan ha åsikter om goto, om globalt muterbart state eller om överdriven användning eller avsaknad av map/reduce, asynkrona primitiver, och så vidare. Allt sådant är sekundärt. Det vanligaste hindret för att förstå koden i ett program är att den är för lång.

Så försök alltid skriva din kod så kort och läsbar som möjligt. Om en avancerad feature i program­språket du använder kan göra programmet några rader kortare är det troligen värt att använda den. Det är rimligt att förutsätta att den som läser ditt program i framtiden kan språket det är skrivet i, men du kan inte kräva att den som läser programmet redan vet vad det försöker åstadkomma och hur.

Det betyder naturligtvis inte att alla variabel­namn ska vara en bokstav korta och indentering och annan frivillig whitespace ska tas bort. Använd rimliga namn, och formatera koden enligt allmänt accepterade konventioner för språket (många moderna språk har såna konventioner formaliserade i ett formaterings­verktyg. Använde det! Och använd det med så få egna inställningar som möjligt).

Att skriva rimligt kort behövs på alla nivåer. En rad bör inte vara för lång, en funktion bör inte ha för många rader, en fil bör inte innehålla för många funktioner, en katalog bör inte innehålla för många filer och hela programmets katalog­struktur bör inte vara för djup. Bryter man ut väldigt korta funktioner får man i stället många funktioner (och extra jobb att hitta på vettiga namn för dem, och kanske även skriva dokumentation för dem). Det gäller att hitta rätt balans.

Ett effektivt sätt att göra koden kortare är att använda bibliotek som redan finns. Grundläggande datastrukturer och algoritmer finns ofta i standard­biblioteket (eller i externa bibliotek om du skriver i javascript), mer specifika saker, som parsers för olika filsystem, klienter för nätverksprotokoll, etc finns i externa bibliotek (eller i standardbiblioteket om du skriver i python). Men se upp – listan över externa beroenden är också en sak som bör hållas så kort som möjligt. Det gäller att hitta rätt balans även där.

Datorföreningen Stackens tidning Stackpointer har återuppstått efter mer än 20 år sedan förra numret! Denna text var mitt bidrag till Stackpointer #1/2025.

Kommentarer

Skriv en kommentar

Enkel markdown tillåts.

Ditt namn (eller pseudonym).

Publiceras inte, utom som gravatar.

Din presentation / hem­sida (om du vill).