Article View: fido.ger.c_echo
Article #15Danke :-)
From: Frank Huettemeister
Date: Thu, 11 Sep 1997 00:00
Date: Thu, 11 Sep 1997 00:00
57 lines
3152 bytes
3152 bytes
Hallo Herbert. > [... suchen. Jedes goto deutet auf einen schweren Designfehler. ] > FH> Man sollte die vorsichtig angedeutete Ablehnung aus dem K&R nicht > FH> zur Schicksalsfrage aufbauschen. :) > Das ist auch keine Schicksalsfrage, sondern nichts weiter die Frage, > ob man fehlertoleranten, wartbaren Code oder lieber unwartbare > Spaghettiso�e hat. Auf letzteres deutet _ein_ `goto` auf keinen Fall hin. > FH> Ein `break`, `continue` oder `return` kann ebenfalls logisch > FH> aufgebaute Strukturen auf einem unerwarteten Weg verlassen. > Falsch! die sind sehr geanau, zielsicher und niemals unerwartet, man > wei� sofort, wo sie hingehen. Ein Goto landet todsicher irgendwo, wo > man es nicht erwartet. Sicher wei� man sofort - wie beim `goto` - , wo sie hingehen. Die wesentliche Denkarbeit beim Nachvollziehen des Source-Codes ist dabei aber nicht, den Sprung zu verfolgen, sondern sich den aktuellen Zustand von Variablen und Schachtelungen zu vergegenw�rtigen, zB. den Wert einer noch sp�ter zu verwendenden Laufvariable einer (mit break oder goto) vorzeitig verlassenen for-Schleife; oder wieviele Klammern noch mit welchen abschlie�enden Anweisungen zu schlie�en sind. > FH> Das break l��t sich sogar durch ein `goto <marke>` ersetzen. Ist > FH> der Unterschied wirklich so gro�? > Ja. Achso. > FH> Zugegeben, besonders toll ist `goto` nicht. F�r einen Neuling, > FH> der die M�glichkeiten der bedingten Verzweigung, der > FH> Strukturierung oder Schachtelung noch nicht kennt, sollte dies > FH> aber kein behinderndes Dogma sein. > Das ist genauso, als w�rdest Du einem F�hrerscheinneuling zugestehen, > auch entgegen der Fahrtrichtung durch eine Einbahnstra�e zu fahren, > mit dem Argument: der mu� sich ja erst mal mit den gegebenheiten des > Autofahrens zurechtfinden. Das Verbieten von goto ist eher so, wie wenn Du einem Kind solange nichts zu essen gibst, bis es nicht mehr kleckert. Nein, Dein Vergleich haut nicht hin: Im einen Fall werden feste Regeln gebrochen, was zu einer Katastrophe f�hren kann (man kann nichts daraus lernen), im andern Fall wird lediglich der Knigge mi�achtet (es l��t sich was daraus lernen). Da aber keiner zuguckt, macht das nix :). Aus Olaf Weinerts Mail sehe ich jedoch, da� seine Experimentierfreude ungebrochen ist. Weiter so! :)) Und tschuess, Frank
Technical Details
Message-ID:
<MSGID_2=3A2442=2F4013.2=40fidonet_7f12a429@fidonet.org>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<MSGID_2=3A2476=2F493_34156de2@fidonet.org>Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII X-Google-Thread: 100a0f,99a02cf1a1f4d899 X-Google-Attributes: gid100a0f,public From: Frank.Huettemeister@p2.f4013.n2442.z2.fidonet.org (Frank Huettemeister) Subject: Danke :-) Date: 1997/09/11 Message-ID: <MSGID_2=3A2442=2F4013.2=40fidonet_7f12a429@fidonet.org> X-Deja-AN: 272334778 References: <MSGID_2=3A2476=2F493_34156de2@fidonet.org> X-FTN-Path: 2442/4013 4000 0 2448/600 24/888 777 2480/2 13 843 X-Comment-To: (Herbert Rosenau) X-FTN-Tearline: GEcho 1.00 X-FTN-Domain: Z2@fidonet X-Gateway: FIDO .. gamma.ray.camelot.de [FIDOGATE 4.1.5] X-FTN-Seen-By: 2490/5001 2494/28 Organization: hAS ANYONE SEEN MY cAPSLOCK KEY? Newsgroups: fido.ger.c_echo