Programmerer.com

Keeping fun in the house

Omvendt ordstilling i Kodedalen

Uten videre foranledning faller jeg i dyp transe når denne kodesnutten på min skjerm dukker opp:

if ( null == adIds )

En vag tåke legger seg lett over cerebrum, og jeg hører distinkt lyden av en hånd som klapper, akkompagnert av ensomme trær som faller til jorden i skogen. Kanskje er det Yoda som hvisker meg i øret, når han ønsker å fortelle om skuffen som er innholdsløs: -»Tom, er skuffen.»

Hva har skjedd her?

Gått seg bort, har han?

Et søk i nåværende kodebase på «if ( null ==» gir 63 treff.

Gått seg bort, har de?

La oss hente geværet og skyte ut følgene bullet points:

  • antageligvis ønsker avsender å avverge feilaktig tilordning ved = istedenfor ==
  • eller han har overgeneralisert idiomet [if ("myString".equals(myString) ] istedenfor [ if ( myString.equals("myString") ] (fordi den siste kræsjer stygt hvis myString er null)
  • men å overgeneralisere på en måte som i det forrige punktet er altså meningsløst
  • og det første burde IDEet ditt advare deg imot
  • og dessuten er omvendt ordstilling stygt
  • og koden blir litt vanskeligere å lese
  • og hva svarte er poenget med det?
  • (og du blir aldri like kul og vis som Yoda, so quit trying)

Og så henger vi geværet pent på kroken sin, og bare nyter den gode virkningen en real meditasjonsøkt har på kroppen vår.

Balladen om en boolean

En Kodemaker møter på mye rart og finurlig i sin hverdag. Denne balladen er inspirert av linje 1151 i DispatcherTemplate.java hos finn.no.

Den enkleste informasjonsenhet
er en boolean, som alle vet
et enkelt lite av og på
et nei og ja, et da og nå

En søt krabat, en liten fyr
som ikke ønsker noe styr
et gikk det bra / så langt ifra
et: si meg, har jeg sjans på deg?

Allikevel kan det gå galt,
historien her er kort fortalt
den er om navn, hva vet vel jeg
om navnet skjemmer / ikke deg

for boolean howDidItGo;
og boolean whyIsItSo;
og boolean whatIsMyName;
og boolean whoIsToBlame;

De suger saften fra en kar
som ikke ønsker noe styr
han drukner i sitt badekar
han styrter alle fly han flyr

Han hoster blod og driter stein
han råtner opp i alle bein
han røsker hjertet ut av seg
og spiser det og hater deg

Han knuser kjeven mot et speil
han brenner alle båters seil
han puster puss og spyr opp svik
og ligner allermest et lik

Hva har du gjort?

Et svik mot koden, firma, meg
du, boolean jegElskerDeg;