Schlechter Programierstil - IF-Schleife

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von fraju.

    Schlechter Programierstil - IF-Schleife

    Hey

    Hab heute mal meine Lehrerin geärgert und die ganze Zeit im Unterricht IF-Schleife gesagt. Sie hätte mir beinahe den Kopf abgerissen :D Hab mal eine geschrieben ;)

    VB.NET-Quellcode

    1. Dim ix As Integer = 0
    2. If_schleife:
    3. If ix < 5 Then
    4. ix += 1
    5. GoTo If_schleife
    6. End If


    Ja über den Programierstiel müssen wir erst gar nicht reden ;) Ich weiß sowas ist echt nicht schön und ich würde es im ernst auch nie benutzen. Hat noch jemand lustige Ideen für schlechten Programierstiel? Fände das Thema mal recht lustig :)

    Viele Grüße
    Croasider
    Der Compiler wandelt im Hintergrund sowieso alles in Goto´s um.

    Aber stell dir vor du hast in deinem Programm 200 mal Goto drin und springst quer durch die gegend:D such da mal nach Fehler oder Debugge ;)

    lg.

    LucaWElker
    lg.

    LucaWelker
    Dann kommt ja das Thema: Such mal den Fehler in deiner 3-fachen If-Verschachtelung
    GoTo ist um eiiiiiiiiniges Übersichtlicher als eine If-Verschachtelung bis zum geht nicht mehr

    Und das war ein Mini-Programm, bei dem die Performance egal ist (Es geht ALLES so schnell, dass man einen Unterschied von 20ms nicht merkt (Wenn es die Performance so stark beeinflusst))


    Und ich finde GoTo Allgemein übersichtlicher, weil du halt "Kapitel" hast (Ich denk halt so komisch, dass es für mich ist sehr einfach ist sowas zu nachvollziehen)



    Mfg.
    SAR
    Also bei mir inner Firma is die Komplette Berechnungslogik in COBOL Programmiert.. und ein Hauptbestandteil des Programmes ist der Goto befehl und ich sage dir es ist echt assi in nem Programm mit (um eines von den kleinen zu nehmen) 1500 Zeilen Code und darin min. 400 Goto´s zu Debuggen und Fehler zu suchen:)

    lg.

    LucaWelker
    lg.

    LucaWelker
    Also ich kenne GoTo noch auch QBasic, damals hat man noch viel damit gearbeitet weil es keine Funktionen oder Methoden gab. Man hat ALLES mit Zeilennummern untereinander geschrieben, wenn man jetzt irgendwas berechnen wollte oder so musste man folgendes machen

    Quellcode

    1. 10 CLS
    2. 20 i% = 0
    3. 30 INPUT "Zahl eingeben: ", a%
    4. 40 IF a% > 0 AND a% < 100 THEN GOTO 60
    5. 50 GOTO 30
    6. 60 GOSUB 90
    7. 70 PRINT "Zahl: ", i%
    8. 80 GOTO 30
    9. 90 i% = i% + a%
    10. 100 RETURN


    Was dort gemacht wird ist ganz einfach zuerst wird der Bildschirm gecleared, dann i% als Integer deklariert.
    Als nächstes kann der Benutzer eine Zahl eingeben die in der Variable a% gespeichert wird. Wenn die Eingabe zwischen 0 und 100 liegt wird zu Zeile 60 gesprungen, andernfalls zu Zeile 30 um eine neue Zahl anzugeben.
    In Zeile 60 wird in Zeile 90 gesprungen zu i% wird die Benutzerzahl addiert und zurück in Zeile 60 gesprungen und die Zahl ausgegeben.

    Nun stelle man sich mal vor hierbei hat man tausende Zeilen Code, zudem kann man nicht viel ändern, man hat max 9 Zeilen die man zwischen eine vorhandene Einfügen kann, also wenn man z.B. zwischen Zeile 20 und 30 was einfügen mächte hat man die Zahlen 21,22,23,24,25,26,27,28,29 zur verfügung ohne vorher die anderen vortlaufenden Zahlen alle neu zu setzten.
    In einem Editor mag das noch gehen, aber nicht wenn die Zeilen direkt in den Speicher geschrieben werden, da müsste man jede einzelne Zeile umständlich ändern.

    Aus diesem Grund ist GOTO einfach schrecklich und man ist froh wenn man es NIE WIEDER benutzen muss. Vielleicht mag das für die jenigen die nie oldschool damit gearbeitet haben nicht so schlimm sein, aber jeder der so Programmiert hat wird mir da recht geben.
    Hi,

    Dodo schrieb:

    man hat max 9 Zeilen die man zwischen eine vorhandene Einfügen kann,
    Schon mal was von RENUMBER gehört? ;)
    Den Befehl kenne ich noch vom KC85 bzw. KC87.


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Hi,

    @nikeee13

    nikeee13 schrieb:

    Ich denke mal, dass die Lehrerin abging, weil ihr damit eine IF-Abfrage meint.
    Ich denke das war beabsichtigt (siehe Post 1):

    Croasider schrieb:

    Hab heute mal meine Lehrerin geärgert und die ganze Zeit im Unterricht IF-Schleife gesagt.



    @Dodo

    Dodo schrieb:

    RENUMBER gibts bei meinem Schneier CPC 6128 nicht =)

    Da bin ich ja schwer enttäuscht von QBasic. ;(

    Die Errungenschaft eines CPC konnte ich leider nicht machen. Mein erster "moderner" Computer war ein Schneider EuroPC mit DOS3.3a und GW-Basic. (hier hieß der Befehl übrigens RENUM). Mit Einführung von DOS4.01 (und somit QBasic) habe ich die Programmiersprache gewechselt zu TurboPascal. Da gab es dann schon Prozeduren und Funktionen. Welch ein Quantensprung (für mich).


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Nunja bei QBasic hat man glaub auch nicht mehr mit Nummern gearbeitet oder? Ich meine mich erinnern zu können das man, wenn mans brauchte, nur Sprungmarken erstellt hatte. Ich weiß aber das ich auf einem DOS PC auch mal irgendwas Basic artiges programmiert hatte was zwar einen Editor besaß aber dennoch Zeilennummern hatte.

    Dodo schrieb:

    Nunja bei QBasic hat man glaub auch nicht mehr mit Nummern gearbeitet oder?


    Es gab Sprungmarken.
    An Anfang hatten manche noch Nummern geschrieben,waren aber auch Sprungmarken.
    Mit QBasic kann man auf einen 286/386/486 natürlich auf den kleinen Pentium noch heute gute Steuerungsprogramme machen.
    Es gab eine Art Int oder Events für Timer und Tastatur,sowie Serielle und Parallele.

    Nutze ich manchmal zur Entspannung.

    Gruß