Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Guter Programmierstil

von RedakteurMaoSeite 5 von 6

Die "richtigen" Befehle
Zunächsteinmal (ganz wichtig ;): es gibt kein konkretes "richtig" oder "falsch", genauso wenig wie nur "schwarz" oder "weiß".
Trotzdem sollte man beim Programmieren beachten, dass manche Befehle aus verschiedenen Gründen weniger gern gesehen sind und auch, dass man keine bereits vorhandenen Funktionen noch einmal selbst nachprogrammieren sollte, es sei denn, dies dient Übungszwecken oder einer Funktionserweiterung.
Fangen wir beim Punkt der "unbeliebten" Befehle an. Most-Wanted in diesem Bereich ist wohl der Befehl BefehlsreferenzeintragGoTo. GoTo erlaubt es dir (solltest du es noch nicht wissen; was übrigens in diesem Fall viel besser ist! ;), wild Sprünge im Programm zu unternehmen. Dazu gibt es so genannte Labels, welche mit GoTo angesprungen werden können. Labels werden durch den Labelnamen, gefolgt von einem Doppelpunkt definiert:

TestLabel:

Damit hätten wir dann ein Label namens "TestLabel". Angesprungen werden kann dieses dann hiermit:

GoTo TestLabel

"Das ist doch jetzt nix Schlimmes?!". Auf dem ersten Blick vielleicht nicht, langfristig zerstört es jedoch die Übersichtlichkeit eines Codes.
Nehmen wir zum Beispiel den Bubble-Sort-Code, der für dieses Tutorial schon einmal seinen Kopf herhalten musste. Komplett ohne strukturierte Befehle (wie Do-Loop, For-Next, While-Wend, ...):

Sub BubbleSort (Feld() As Integer)
  Dim As Integer i, n, vertauscht
  n=UBound(Feld)-1
  anfang:
    vertauscht = 0
    i=LBound(Feld)
    sortieren:
     If Feld(i) > Feld(i+1) Then
       Swap Feld(i), Feld(i+1)
       vertauscht = 1
     End If
     i++
     If i<n Then GoTo sortieren
     n -= 1
    If vertauscht=1 Then GoTo anfang
End Sub

Dieser Code sortiert das Array genauso, bloß ist ebendieser Code auch um einiges schlechter zu lesen. Merke: GoTo lässt sich in 99% aller Fälle durch clevere Befehle ersetzen!
(Übrigens ist BefehlsreferenzeintragGoSub GoTo recht ähnlich; auch GoSub wird nicht gern gesehen.)

GOTO
Vergrößern
GOTO

Hinweis: Das Bild unterliegt der Externer Link!Creative Commons Attribution-NonCommercial 2.5 License und stammt von Externer Link!xkcd.

Der andere oben genannte Bereich soll hier wirklich nur kurz angerissen werden, falls nicht ganz klar wurde, was gemeint ist.
Sollte man zum Beispiel mit den Funktionen BefehlsreferenzeintragLeft und BefehlsreferenzeintragRight sich ein eigenes BefehlsreferenzeintragMid zusammenbauen, so kann dies zu Übungszwecken natürlich geschehen. Ebenso, falls man sich noch ein Zusatzfeature einbauen möchte, was für ein bestimmtes Programm gebraucht wird. Sollte es aber genau die gleiche Funktionalität wie Mid besitzen, so bläht das nicht nur den Code auf, sondern lässt ihn auch noch etwas unübersichtlicher werden. Programmierer, die sich deinen Code kurz anschauen möchten, müssen erst nachschauen, was diese Funktion macht. Jedoch kann man davon ausgehen, dass die meisten FB-Programmierer sofort wissen, was der Befehl BefehlsreferenzeintragMid macht - ein lästiges Nachschauen entfällt also.

 

Gehe zu Seite Gehe zu Seite  1  2  3  4  5  6  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 08.06.2007 von RedakteurMao angelegt.
  • Die aktuellste Version wurde am 25.09.2009 von AdministratorSebastian gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen