1. Foren
  2. » Kommentare
  3. » Software-Entwicklung
  4. » Alle Kommentare zum Artikel
  5. » Visual Studio: "Go to…

Go for goto!

Anzeige
  1. Thema
  1. 1
  2. 2
  3. 3
  4. 4

Neues Thema Ansicht wechseln


  1. Go for goto!

    Autor HierIch 19.01.12 - 16:36

    Cool, endlich wird der goto-Befehl angemessen gewürdigt! Der hat mir schon die ein oder andere unnötige if-Verschachtelung gespart.

  2. Re: Go for goto!

    Autor Wolf als Gast 19.01.12 - 17:13

    if (a==0) then goto weiter;
    b=c/a;
    weiter:;

  3. Re: Go for goto!

    Autor dabbes 19.01.12 - 17:18

    Lol, sehr effizient programmiert ;-)

    Leider findet man immer wieder sowas.

  4. Re: Go for goto!

    Autor ssssssssssssssssssss 19.01.12 - 17:21

    PIX OR IT DIDN'T HAPPN!!1

  5. Re: Go for goto!

    Autor Little_Green_Bot 19.01.12 - 17:23

    Hatte ganz vergessen, dass es GOTO in manchen Sprachen noch gibt. THX!
    Wer die meisten GOTO verwendet, bekommt einen Teller Spaghetti! :-)

  6. Re: Go for goto!

    Autor Wolf als Gast 19.01.12 - 17:23

    Das da, fand ich in unserem Quellcode -.-
    Der "Programmierer" war/ist aber nicht mehr bei uns angestellt

  7. Re: Go for goto!

    Autor uuurmele 19.01.12 - 17:27

    die meines wissens einzige sinnvolle anwendung von goto ist das nachbilden von try&catch in sprachen, die dies anderweitig nicht unterstützen. studis, die in ner klausur goto benutzen, fallen bei mir ohne weiteren kommentar durch :-P

  8. Re: Go for goto!

    Autor meyerm 19.01.12 - 17:34

    uuurmele schrieb:
    --------------------------------------------------------------------------------
    > studis, die in ner klausur goto benutzen, fallen bei mir ohne weiteren kommentar
    > durch :-P

    Hehe, zu welcher Vorlesung?

  9. Re: Go for goto!

    Autor Wary 19.01.12 - 17:34

    Ich find manches mit goto besser!
    Das z.B.:

    private bool AllReadyDone(string md5)
    {
    bool hasRows = false;
    using (SQLiteCommand sQLiteCommand = this.dbcon.CreateCommand())
    {
    sQLiteCommand.CommandText = "SELECT MD5,plain FROM cracked_passwords WHERE MD5 LIKE @md5 LIMIT 1";
    sQLiteCommand.Parameters.AddWithValue("md5", md5);
    queryexisting:
    try
    {
    using (DbDataReader dbDataReader = sQLiteCommand.ExecuteReader())
    {
    hasRows = dbDataReader.HasRows;
    }
    }
    catch (SQLiteException e)
    {
    if (e.ErrorCode == SQLiteErrorCode.Busy)
    {
    System.Threading.Thread.Sleep(200);
    goto queryexisting;
    }
    }
    }
    return hasRows;
    }

  10. Re: Go for goto!

    Autor redwolf 19.01.12 - 17:35

    Goto macht auch Sinn um aus verschachtelten while-Schleifen zu springen ohne mit Flags und break arbeiten zu müssen.

    Beispiel:

    while(true)
    {
    while(true)
    {
    goto end;
    }
    }

    end:

    *snip*

    Java hat das interessant anders/besser gelöst:

    label1 : for(int i =0;;)
    {
    for(int g =0;;)
    {
    break label1;
    }
    }

    *snip*

    (geht auch mit while ;))

  11. Re: Go for goto!

    Autor omo 19.01.12 - 17:39

    Dann bitte gleich
    while(!goto)
    Dann sieht man gleich, was dort gemeint ist ;-)

  12. Re: Go for goto!

    Autor gin110 19.01.12 - 17:57

    Wo liegt eigentlich das Problem am goto?

    Wir lernen gerade Programmieren in C und unser Lehrer sagt er würde uns am nächsten Laternenmast aufknüpfen sollten wir goto verwenden.

  13. Re: Go for goto!

    Autor t-master 19.01.12 - 18:07

    Wenn du viele gotos hast die auch noch recht weite und nicht zusammenhängende Sprünge machen kann es u.U. relativ schwer sein, dem Code zu folgen bzw ihn zu verstehen.
    Und da man vieles durch sinnvollere Konstrukte wie if/else auch darstellen kann und man so relativ gut sieht, welchen Ablauf das Programm nimmt sollte man es eben möglichst garnicht verwenden.

  14. Re: Go for goto!

    Autor Little_Green_Bot 19.01.12 - 18:08

    gin110 schrieb:
    --------------------------------------------------------------------------------
    > Wo liegt eigentlich das Problem am goto?
    >
    > Wir lernen gerade Programmieren in C und unser Lehrer sagt er würde uns am
    > nächsten Laternenmast aufknüpfen sollten wir goto verwenden.

    Wau, ich hatte keine Ahnung, dass es inzwischen so schlimm ist. ;)

    Naja, der Code kann sehr unübersichtlich werden, wenn man viel mit GOTO arbeitet. Lieber Bedingungen/Schleifen mit Abbruch-Kriterien bzw. funktionale Programmierung.

  15. Re: Go for goto!

    Autor tingelchen 19.01.12 - 18:09

    Es macht den Code unübersichtlich. Weil ein goto es im Prinzip nach erlaubt irgendwo hin zu springen. Äh... wo war noch der Marker? *such* Zusätzlich ist es eine elende Gefahr einem Programm ein Verhalten bei zu bringen das man nicht erklären kann. Grund ist meist entweder ein defekter Stack (In C/C++ sehr beliebt) oder auch gern ein goto. Weil das Ding einen falschen Marker anspringt oder ihn nicht anspringt.

    Das gleiche gilt auch für endlose Bandwürmer (Funktionen/Methoden mit mehr als 300 Zeilen Code), Nichts aussagende Namen für Funktionen, Klassen, Strukturen, Methoden oder Variablen, globale Variablen oder auch immer wieder beliebt, die Nutzung von Variablen in Libs die der Benutzer erst definieren muss. Immer ganz toll.
    Auch sehr beliebt sind so scherze wie, sich nicht darum zu kümmern seinen Müll weg zu räumen. Der Benutzer meiner Lib macht das schon, oder... macht ja der Speicher Manager oO.

  16. Re: Go for goto!

    Autor theonlyone 19.01.12 - 18:09

    gin110 schrieb:
    --------------------------------------------------------------------------------
    > Wo liegt eigentlich das Problem am goto?
    >
    > Wir lernen gerade Programmieren in C und unser Lehrer sagt er würde uns am
    > nächsten Laternenmast aufknüpfen sollten wir goto verwenden.

    If kann man viel besser parsen ; einen fiesen Logik Fehler mit Goto und du suchst dich die nächsten 10 stunden zu tode wo der Fehler ist.

    GOTO ist schön, aber einfach gefährlich und "hässlich" ; zumindest wenn man sich die neuen Methoden anschaut, wie das oben erwähnte in java mit Labels usw.

  17. Re: Go for goto!

    Autor tingelchen 19.01.12 - 18:14

    Schöne Endlosschleife produziert :)

  18. Re: Go for goto!

    Autor omo 19.01.12 - 18:17

    Goto's sind Wurmlöcher, die alles durchtunneln.
    Bei php ist das super, zumal dort html, javascript und css mit integriert werden können.
    Alles kann auch eigenständig im selben script auftreten.
    Und scripte lassen sich verscripten ;-)
    Dazu tauchen dann txt und csv files auf, die selbst wiederum Scriptkomponenten enthalten können.
    Keine Ahnung, ob das informatisch gewollt ist.
    Macht aber Spaß.

  19. Re: Go for goto!

    Autor Hello_World 19.01.12 - 18:23

    tingelchen schrieb:
    --------------------------------------------------------------------------------
    > Schöne Endlosschleife produziert :)
    Eine Endlosschleife ist das nur, wenn man davon ausgeht, dass die SQLite-Datenbank stets busy ist.

  20. Re: Go for goto!

    Autor Wolf als Gast 19.01.12 - 18:43

    mir wurde es damals noch in Basic an der Schule beigebracht. Vom Rektor presönlich! und auch schön alles in 10er Sprüngen nummerieren.

    Die oben genannten Beispiele sind korrekt und es wird auch kritisiert, wenn man mehrere Ausstiegs und Einsprungspunkte hat.
    Zum anderen erhält man irgendwann Spagetticode, welcher nicht mehr flüssig von oben nach unten zu lesen ist.
    Und wenn dann nach Jahren einer den Code prüfen muss, dann macht man es ihm dadurch auch nicht leicht. Wobei da gibt es noch viele Schlimmere Dinge, wie man jemand in den Wahnsinn treiben kann. Ich hab da schon einiges in den Händen gehabt, wo ich gern dem Entwickler persönlich das Zeug rechts und links vor die Backen hauen möchte.

  1. 1
  2. 2
  3. 3
  4. 4

Neues Thema Ansicht wechseln


Entschuldigung, nur registrierte Benutzer dürfen in diesem Forum schreiben. Klicken Sie hier um sich einzuloggen


Meistgelesen
  1. Libreoffice

    "Wir wollen Nutzer in die ODF-Welt ziehen"

  2. Browser

    Kauft Facebook Opera?

  3. Blackberry

    RIM plant Massenentlassungen

  4. Datenschutz

    Neue EU-Regeln zu Cookies treten in Kraft

  5. Samsung Galaxy S3

    Siri braucht sich nicht zu fürchten


Meistkommentiert
  1. Kommentare: 171 | letzter Beitrag 20:42 Uhr

  2. Kommentare: 94 | letzter Beitrag 26.05. 19:45

  3. Kommentare: 77 | letzter Beitrag 20:57 Uhr

  4. Kommentare: 70 | letzter Beitrag 18:56 Uhr

  5. Kommentare: 61 | letzter Beitrag 21:29 Uhr

Mehr



Haben wir etwas übersehen?

E-Mail an news@golem.de


Zulieferer: Sony soll iPhone 5 mit In-Cell-Touchscreen ausrüsten
Zulieferer
Sony soll iPhone 5 mit In-Cell-Touchscreen ausrüsten

Laut Apple-Zulieferern wird das iPhone 5 mit einem neuartigen In-Cell-Touchscreen ausgerüstet. Als Hersteller soll Sony infrage kommen. Bislang hieß es, dass Apple Sharp und Toshiba bevorzugen würde.

  1. iPhone 5 Kleinerer Dock-Connector im Gespräch
  2. Streit um Domains Apple hat Domain iPhone5.com erhalten
  3. 4 Zoll iPhone 5 wohl mit größerem Display

Owncloud Inc.: "Wir sind kein Serviceprovider"
Owncloud Inc.
"Wir sind kein Serviceprovider"

Das Unternehmen Owncloud entwickele nur Software und biete Support für Kunden, sagte Technikchef Frank Karlitschek auf dem Linuxtag 2012. Darüber hinaus verriet er einige technische Details zu Owncloud 4 und kommenden Entwicklungen.

  1. Persönlicher Onlinespeicher Owncloud 4.0 verschlüsselt Daten auf dem Server
  2. Persönlicher Onlinespeicher Owncloud erhält Android-Applikation
  3. Persönlicher Onlinespeicher Owncloud 2012 auch mit kostenpflichtigem Support

Landgericht Hamburg: Blogger haftet für eingebettetes Youtube-Video
Landgericht Hamburg
Blogger haftet für eingebettetes Youtube-Video

Das Landgericht Hamburg hat entschieden, dass der Blogger und Rechtsanwalt Markus Kompa für ein via Youtube eingebettetes ZDF-Video als Verbreiter haftet. Geklagt hat ein umstrittener Arzt aus München, der zuvor erfolgreich gegen den Bericht der ZDF-Sendung Wiso vorgegangen war.

  1. Youtube-Streit Gema legt Berufung ein und pocht auf Transparenz
  2. Gema gegen Youtube Beide sehen sich als Gewinner
  3. Gema gegen Youtube Medienanwalt erwartet ab morgen weitere Youtube-Sperren

  1. Renesas: Chiphersteller will ein Drittel der Beschäftigten loswerden
    Renesas
    Chiphersteller will ein Drittel der Beschäftigten loswerden

    Renesas ist nach Elpida der zweite schwer angeschlagene japanische Chiphersteller. Renesas, das Hitachi, Mitsubishi Electric und NEC gehört, macht Verlust und will seine größte Fabrik verkaufen.

  2. Blackberry: RIM plant Massenentlassungen
    Blackberry
    RIM plant Massenentlassungen

    RIM soll in den kommenden Tagen erneut einen massiven Stellenabbau ankündigen. "Ich habe herausgefunden, welche Teile ich in meinem Puzzle nicht mehr benötige", sagte Firmenchef Thorsten Heins.

  3. Browser: Kauft Facebook Opera?
    Browser
    Kauft Facebook Opera?

    Ein britisches Blog will erfahren haben, dass Facebook den norwegischen Browserhersteller Opera Software kaufen will. Beide Unternehmen wollen sich dazu nicht äußern.


  1. 15:41

  2. 13:23

  3. 14:48

  4. 14:29

  5. 14:24

  6. 12:30

  7. 12:23

  8. 18:49