Husker de at vande din kode?

Jeg er nu igen dukket op foran skærmen efter at have trukket stikket ud (næsten) og været på barsel siden sidste sommer. Når man har været væk fra sit arbejde så længe, så er det jo spændende at komme tilbage og se, om de andre nu har passet godt på éns kode.

Jeg husker citatet "code does not rust" fra et gammelt indlæg af bloggeren Joel Spolsky, der handlede om, hvorfor det gik så galt for Netscape da de smed hele deres konkurrencefordel over bord ved at gå i gang med at skrive hele browseren forfra, mens Microsoft kørte forbi dem med 120 i timen.

Nej, kode ruster ikke, men nogle gange skal det altså vandes lidt for at holde trit med en foranderlig verden, hvor kravene til software lader til at være konstant stigende. Og for at blive i blomster-metaforen, så kræves der også nogle gange større beskæringer eller omplantninger, for at den kan holde sig levende.

Nå, nok om planter; jeg har alligevel ikke grønne fingre. Men hvordan har min kode det så? Jo, i store træk, så ligner den sig selv. De mennesker, der har passet den i mit fravær har, mest af alt lavet lokale ændringer og bugfixes i tråd med det eksisterende. Næste gang, der skal laves mere radikale ændringer, bliver det nok mig selv, der gør det.

Nu forventede mine kolleger nok, at jeg kom tilbage igen en dag, hvad jeg da også gjorde. Men andre gange står man jo med noget kode, som er lavet af personer, der ikke længere er i virksomheden. Jeg vil sige, at jo mere kompleks (eller uigennemskuelig), koden er, jo mere er jeg i hvert fald tilbøjelig til at nøjes med små-ændringer af frygt for at knække noget. I modsat retning trækker trangen til at gøre koden til min egen; rykke op i spaghettien og få lavet noget, jeg selv forstår. Men, som også er moralen i ovennævnte artikel om Netscape, skal man nok passe på med at tro, at koden nødvendigvis bliver mere fejlfri af den grund.

Hvordan passer du andres kode?

Kommentarer (5)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Henrik Jensen

Jeg vil bestemt mene af kvaliteten af koden er langt vigtigere end dokumentation. Derved ikke sagt at dokumentationen er uvæsentligt.

Men jeg har aldrig mødt en udvikler der sagde "Jeg skulle foretage nogle ændringer i den her kode som jeg aldrig havde set før og kvaliteten var temlig dårlig, masser af duplikeret kode, dårlig og inkonsistent navngivning, metoder var lange og komplekse, ingen struktur og opdeling af ansvar og ingen automatisere tests men alligevel var det nemt at foretage ændringer på grund af den gode dokumentation"

  • 0
  • 0
Henrik Jensen

Har du nogensinde set kode af ufattelig ringe kvalitet, med utrolig god dokumentation?

Ikke ufattelig ringe kode versus utrolig god dokumentation. Forhåbentligt fordi at alle forstår at hvis de har kode af ufattelig ringe kvalitet så skal de rydde op frem for at dokumentere den.

Det svarer lidt til hvis man på hjemmefronten ikke har styr på sine papirer. Forsikringspolicer, skøder, bankaftaler, registreringsattester etc. ligger rundt omkring i alle mulige skuffer, kasser m.v. så man aldrig kan finde dem.

Bør man så rydde op og få sat lidt struktur på opbevaringen af papirer eller bør man sætte sig ned og dokumentere i hvilke skuffer, kasser m.v. at man kan finde de enkelte papirer. Jeg vil foretrække det første, selvom jeg bestemt ikke er det store ordensmenneske.

Men jeg har for øvrigt set systemer hvor kodekvaliteten bestemt godt kunne være meget bedre og hvor der fandtes, jeg vil ikke sige utrolig god dokumentation, men der fandtes i hvert fald meget. Vi snakker hundredevis af sidder med UML diagrammer, tekstuelle beskrivelse m.v. men det hjalp altså kun begrænset i forhold til ændringer der skulle foretages i koden, og mange gange stødte man på eksempler hvor at bedre kodekvalitet ville havde gjort det hurtigere at foretage ændringer.

  • 0
  • 0
Søren Pilgård

Jeg mente så mænd ikke at god kode ikke er vigtig, blot at en god dokumentation er med til at forsøde tilværelsen for vedligeholdere en hel del.

selvfølgelig skal man ikke bruge al sin tid på at skrive fremragende dokumentation i stedet for at lave et stykke ordentligt kode. Tingene skal jo følges ad.
Dokumentationen er jo bare et hjælpe værktøj for udviklere.

  • 0
  • 0
Log ind eller Opret konto for at kommentere