Kodestruktur

Jeg leste en post på NWF der de diskuterte kodestruktur. Så jeg tenkte jeg skulle skrive, nå mellom Jackass og Prision Brake, litt om hvordan jeg mener strukturen burde være, i PHP - samt noe du kan adoptere til andre programmeringsspråk. Til alt i fra actionscript, javascript til Ruby on Rails og Python er strukturen ca den samme!

Funksjonsnavn og variabler

Først av alt, bruk engelske variabler! Dette er eventuelt om andre skal lese kodene dine, internasjonale det er. Ikke bare er det derfor, men også vanlig kode "skikk" kan man si. Alle koder skal være skrevet med engelske variabler og med semicase eller småbokstaver avskilt med understrek.

Semicase

Semicase er at om det er flere ord i en variabel at starten på hvert ord skal ha en stor bokstav. Første bokstaven i en variabel (samt funksjoner) skal ha liten bokstav. Eksempel: $thisIsMyVariable eller thisIsMyFunction();.

Det andre alternativ

I tilleg til semicase kan du bruke en annen metode, som er avskill ord med understrek. Du har små bokstaver på alt, ikke start med et tall (det er ikke mulig å starte med tall i variabler og funksjoner), og skill forskjellige ting med understrek. Eksempler: $my variable eller my function();.

(det er en mystisk bug i wordpressen min som jeg må fikse, den gjør at du ikke kan sette _ i code-taggen. Så jeg har erstattet den med et mellomrom.

Sistnevnte metode bruker jeg nå, da jeg syns den er mest oversiktelig og lettlest. Men det er frittfrem til å bruke hvilken som helst av disse metodene. Det er viktig å huske at det skal skrives engelsk!

Kodestruktur

Når vi er ferdig med navn går vi over til det som egentlig er struktur! Det er litt vanskelig og forklare så derfor bruker jeg en del eksempler på hva jeg mener. Først et forsøk på forklaring i ord: Du starter helt til venstre, etter hvert som du kommer til flere inner-elementer (eks i en løkke eller if/else) tar du innhopp, altså personlig bruker jeg tab men andre bruker flere mellomrom/space. Whitespace er altså viktig for at kodene dine skal være lettleste. Som jeg har sagt er det ikke noe særlig vise dette med tekst, derfor kommer det dette eksemplet:

  1. <?php
  2. // my_var setter forskjellige ting.
  3. $my_var = 1;
  4.  
  5. // Kommentarer har jeg alltid på egene linjer.
  6. // Slik som denne
  7. if ( isset($my_var) ) {
  8.    echo 'I would dance!' . "\n";
  9. } else {
  10.    echo 'I would stand still!' . "\n";
  11. }
  12.  
  13.  
  14. function my_function ($str){
  15.    if ( strlen($str)> 3 ){
  16.      
  17.       $str = NULL;
  18.       // jeg bruker også linjehopp etter løkke kallinger:
  19.       while ($str == TRUE){
  20.          $str .= 'It is true for ever man!' . "\n";
  21.       }
  22.       echo $str;
  23.       return true;
  24.    } else {
  25.       return false;
  26.    }
  27. }
  28.  
  29. my_function('This is true!');
  30.  
  31. ?>

Dette var et kjapt eksempel, med meningsløs koding, hvor jeg viser hvordan kodene mine ser ut. Jeg bruker tabs til innhopp, kommentarer på egen linje, og forskjellige linjehopp i forhold til hva som blir brukt; variabel, funksjon eller løkke.

Kommentering

Når mann nevner kommentarer er det også en ting du må tenke på! Du må ha kommentarer. Selv om det kun er til deg. Det blir mye enklere å gjøre noe senere med kodene om du bare skriver noen små kommentarer. Dette er ikke mye men kun noe slik som

/** Thumbnail-function
*
This takes the image and resizes and cropes it to the size set in the argument.
thumb( img, thumb-dir, [size-x, [size-y]] )
((en forklaring på hvordan bruke den, og forklare hva den gjør).
*/

Det behøver selvfølgelig ikke å være på engelsk. Men skal du dele scriptet burde det i alle fall være det!

Oppsumering:

  • Engelske variabelnavn med semicase eller understreks-metoden
  • Inntrykk/innhopp om du har inner-element, enten ved tab eller space
  • Kommenter på egen linje med holdbar informasjon.

HOLD struktur og orden i kodene dine! Denne strukturen gjelder for de fleste programmeringsspråk, +/-.
Lykke til!

En respons om “Kodestruktur”

  1. [...] Denne er veldig viktig til tross for at den er nr. 7. Den er nr. 7 for den er såpass selvsigende at det ikke en gang burde ha vært nødvendig å nevnt. Likevell kommer det. Hold orden i kodene dine og kommentér på engelsk. Jeg har tidligere skrevet om viktigheten i dette. Det er ikke sikkert kunden kommer til å ha deg som sin utvikler hele tiden og det burde da være mulig for overtagere å forstå hva det er som har foregått inne i filene til kunden. Du kan lese om kodestruktur i PHP i artiklen min Kodestruktur, men dette gjelder også i HTML og CSS. Ha struktur og bruk indentering. [...]


Legg igjen respons

Fyll ut alle felt markert med *

Brukerinformasjon
  1. Kan bruke følgende html: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> og [html] [css], [mysql] og [php] Hold posten ren og fin!

    Siter valgt tekst

E-post-varsel uten å skrive kommentar.

Info om posten

Innlegget ble postet 13.03.06 22:14 og ligger under kategorien PHP / MySQL. Du kan abonnere på kommentarene ved å bruke RSS 2.0 feed. Du kan legge til kommenter, eller trackback fra din blogg/side.

Resurser

Arkiver

Metainfo


Siste Flickr-bilder

  • Commentsystem (20070308)
  • Ukraina Aksjonen 2006 (20070306)
  • Mikael Brevik blogg (20070306)
  • Mikael Brevik (20070306)
  • Brukerdefinert side - AVIS2 (20070306)
  • Brevik Webutvikling (20070306)
  • skyscraper
  • visittkort