Kritiser min Perl-kode

Perl er et af mine foretrukne programmeringssprog. Kun meget sjældent oplever jeg at Perl går i vejen for mig fordi den ikke lige synes om min programmeringsstil. Det gør Perl til et sprog der måske er overkommeligt at lære, men svært at beherske. Dermed har Perl fået et noget berettiget ry for at være et sprog der er skrevet meget skodkode i. En medvirkende årsag har dog også været at mange dårlige programmører blev tiltrukket af Perl dengang der blev sat lighedstegn mellem CGI og Perl.

For at blive en god programmør mener jeg blandt andet at man skal opbygge en ide om hvad der er god kode og hvad der er dårlig kode. Men hvis 90% af alt det kode man bliver udsat for er skodkode, hvordan skal man så lære at kende forskel?

En af de bedste muligheder er selvfølgelig at få erfarne programmører til at kritisere koden. Det kan dog være meget resursekrævende og noget at det første der ryger i en hektisk hverdag. Sidder man ensomt og koder på sit lille hobbyprojekt kan det også være svært at finde den erfarne programmør ud over at poste sit kode online og håbe på der kommer en venlig sjæl forbi.

Der findes bøger og vejledninger til god kodestil, men det er min erfaring at det kan være svært at få unoderne ud af fingrene hvis man ikke igen og igen og igen få påpeget hvor ens egen kode bryder reglerne.

Jeg kan stærkt anbefale perl-programmører at se på Perl::Critic, der kan påpege en lang række at de unoder man laver. Nogle gange kan der være grunde til at bryde reglerne, så sætter man lige en kommentar ind om at her ved man godt at man bryder den og den regel.

Som udgangspunkt er Perl::Critic's regler baseret på anbefalingerne i Damian Conways bog "Perl Best Practices", men hvis man ikke bryder sig om Damians regler så kan man slå dem til og fra efter behag, skrive sine egne regler eller finde de andre pakker af regelsæt der efterhånden er begyndt at dukke op på CPAN.

Nåja, så mangler jeg lige at få læst Perl Best Practices.

Kommentarer (4)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Jesper Dahl Nyerup

Verden <em>er</em> fyldt med elendig kode, såvel Perl-kode som alt muligt andet.

Jeg har foreløbig haft ualmindeligt gode erfaringer med at lade mere erfarne programmører kigge min Perl-kode igennem et par gange, og derefter give kritik og komme med fornuftige forslag.

Tak for hjælpen, i øvrigt. :-)

  • 0
  • 0
Chris Kjær

HTML-koder i <font size="+2">indlæg</font> bliver vist ikke escaped korrekt i 'Sidste Kommentarer' listen til højre på siden.

Hvis jeg har ret, ser listen nu lidt underlig ud; hvis ikke så kan man se bort fra dette indlæg...

  • 0
  • 0
Morten Siebuhr

Jeg har ved et tidligere job arbejdet med et system hvis kerne bestod af lidt over 150.000+ linjer Perl. Det var tydeligvis lavet af nogle, der forstod hvad de gjorde.

Dog lå der anseelige mængder små-programmer i forbindelse med kernen (endnu en 100.000 linjer), lavet af ikke-fagfolk. Og det var skræmmende dårligt. Omtrent alle obskure $-variable var brugt, hvilket gjorde koden stort set ulæselig (retfærdigvis skal det siges, at der heller ingen kommentarer var). Jeg formåede (efter et par måneders Perl-erfaring) at omskrive flere af disse programmer til ~10% af deres oprindelige størrelse - inklusive kommentarer.

Så jo, man kan utrolig smuk og ditto grim kode i stort set alle sprog, men Perl gør begge dele meget nemt, IMHO.

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