Brian Rasmussen skrev for nylig et blog indlæg om en kort kommentar, jeg havde skrevet til et tidligere blog indlæg han havde skrevet. (Hvis jeg havde arbejdet med det kunne jeg nok have formuleret det lidt mere kringlet :-)
Det jeg egentlig ville fremhæve med min meget korte kommentar var at jeg går meget ind for læsbar kode.
Vi ved alle at kode læses flere gange end det skrives …
Det som jeg specifikt tænkte på med one-liners (men ikke skrev), er
nogle af de konkurrencer der har foregået, hvor man skulle få en linje
kode til at lave så meget som muligt, hvilket naturligvis gik ud over
læsbarheden.
Nogle gange synes vi som udviklere at det bare er fedt at lave
kompliceret kompakt kode - og det føles da også tit fedt. Men det er
meget svært at læse.
Jeg kan huske en samtale jeg havde med en anden udvikler på et tidspunkt, om en arktiekt, hvor den anden udvikler fortalte mig at arkitekten var så dygtig til at kode at de andre i hans team tit ikke forstod hans kode, jeg kan huske at jeg dengang tænkte: "Wow!, hvor må det være fedt at være så dygtig".
Idag ville jeg tænke noget ganske andet ...
Så det var altså det jeg mente med “one-liners er bare så 1995″
Min kommentar udsprang lidt af en snak jeg havde med Henrik Lykke og Søren Skovsbøll, om ?? null coalescing operatoren til et ANUG møde.
Henrik fortalte at han brugte den aldrig, selvom han kendte den godt; ganske enkelt fordi andre skulle overtage hans kode, og han vidste at ikke alle kender null coalescing operatoren.
Undskyld Henrik, hvis jeg har citeret dig forkert.
Jeg syntes at noget af det kod, Brian lavede i den første post mindede lidt om noget en nybegynder kunne have vanskeligt ved at læse.
Man kunne naturligvis starte en hel debat om man skal kode efter laveste fællesnævner, og om man ikke løfter nybegyndere ved at tvinge dem til at lære mere avancerede features i C#. (mange betragter faktisk null coalescing operatoren som en avancerret feature)