Skriv välformaterad kod

Introduktion

Jag har många gånger sett kod som varit i princip oläslig pga att kodaren inte har brytt sig om att skriva välformaterad kod. Själv använder jag mig alltid av indentering för att tydliggöra var vissa kod-block börjar och slutar.

Tanken med den här artikeln är att upplysa dig om hur du kan gå till väga för att göra din kod så lättläst som möjligt, både för dig själv som vet vad den gör och för andra som ser koden för första gången.

Indentering

Indentering (indrag) är en av de viktigare delarna för att göra en kod-snutt lättläslig. Dessa gör det lättare att se var ett visst kod-block börjar och slutar. Kolla på exempel #1 för att se ett exempel på en kod-snutt som inte är välformaterad (utan indrag).

Exempel #1
PHP:
   $var 4;
  echo 'Exempel #1';
  if ( $var == 4 ) {
  for ( $x = 0; $x < $var; $x++ ) {
  echo ( $x . '<br />' );
  }
  echo 'Slut på exemplet!'; 

Om du kollar igenom det exemplet så märker du att det saknas en slut-klammer ("måsvinge") vilket innebär att du kommer få ett "Parse Error". Ta nu en titt på koden i exempel #2.

Exempel #2
PHP:
    $var 4;
  echo 'Exempel #1';
  if ( $var == 4 ) {
    for( $x = 0; $x < $var; $x++ ) {
      echo ( $x . '<br />' );
    }
  echo 'Slut på exemplet!'; 

Nu ser man direkt att det saknas en klammer, man behöver inte ens anstränga ögonen för att lokalisera felet. Förhoppningsvis har även du fått upp ögonen för indentering, det kommer att gynna både dig själv och de personer som ska kolla igenom din kod. Indenterad kod ser även mer proffesionell ut än kod som inte är det.

Använd mellanslag

En annan sak som är bra att använda för att öka läsligheten är vanliga mellanslag. Själv använder jag mellanslag på många ställen, allt för att göra att koden är så lättläst som möjligt.

Ta nu en titt på exempel #3 för att se hur en kod kan se ut om man inte använder sig av mellanslag.

Exempel #3
PHP:
   $var=isset($_GET['var'])?$_GET['var']:0;
 
  if ($var==5) {
    $var=1;
  }
  
  echo($var+2); 

Ta nu en titt på exempel #4 som är samma kod som ovan fast med mellanslag.

Exempel #4
PHP:
   $var = isset( $_GET['var'] ) ? $_GET['var'] : 0;
 
  if( $var == 5 ) {
    $var = 1;
  }
  
  echo ( $var + 2 ); 

Som du ser så är det betydligt lättare att kolla igenom exempel #4 än exempel #3. Detta beror till stor del på mellanslagen som gör det lättare för oss att urskilja de olika delarna som koden består av.

Kommentarer

Kommentarer bör användas men i lagom mängd. För få kommentarer gör det svårt att veta vad koden egentligen gör och för många kommentarer kan (enligt mig) bidra till att göra en kod mer svårläst. Det sistnämnda kan nog vara mer en fråga om smak också. Jag gillar att använda få kommentarer som förklarar vad hela sektioner gör medan andra gillar att förklara vad varje liten sak gör. Ta en titt på exempel #5.

Exempel #5
PHP:
   // kolla om strängen i $string endast innehåller a-z
  if( !preg_match('/^[a-z]+$/', $string ) ) {
    // strängen var inte korrekt
    die('Strängen får bara innehålla tecknen a-z!');
  }
  
  // här händer något
  
    ... 

Visst, om det är en nybörjare som ska kolla på koden så är det där alla tiders, allt förklaras vilket gör det lättare för personen att förstå vad som händer. Själv brukar jag dock endast förklara vad som händer i en viss sektion för att enkelt kunna komma tillbaka till koden efter ett tag och fräscha upp minnet. Se exempel #6.

Exempel #6
PHP:
   // försäkra oss om att strängen endast innehåller tecknen a-z
  
  if( !preg_match('/^[a-z]+$/', $string ) ) {
    die('Strängen får bara innehålla tecknen a-z!');
  }
  
  // en annan sektion
  
    ... 

Avslutning

Nu när du läst igenom den här artikeln så hoppas jag att du insett fördelarna med att skriva välformaterad kod. Jag kan erkänna att exempel #3 gjordes lite extra grötigt bara för att visa att mellanslag kan förhöja läsligheten för en kod avsevärt.

Artikeln är skriven av Erik Riklund (lilleman) för PHPportalen.

Kommentera denna artikel
Sida 1 av 1
[ 1 ]
Välkommen Anonymous
Logga in
Registrera
Snabblänkar
Markera alla forum som lästa
Skriptarkivet [86 av 97]
Visa nya inlägg
Visa dina inlägg
Visa obesvarade huvudinlägg
Läs vår skola
  Introduktion
  Programmera i webbmiljö
  Installationen i Windows
  Variabler och konstanter
  Vektorer
  Operatorer
  Villkorssatser
  Slingor
Statistik
Registrerade medlemmar: 19804
Inlägg totalt: 719643
Senaste medlem: Fotvårdsprodukter
Online
Besökare just nu: 39,
0 registrerade,
0 dolda och
39 gäster
Besökare som mest var 501 den 2019-05-02 15:53

Våra medlemmar
Inloggade medlemmar
Bra att veta
Förhållningsregler
Trivselregler
phpBB-FAQ
För dig som vill länka
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic