Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.java > #13403
| From | Wanja Gayk <brixomatic@yahoo.com> |
|---|---|
| Newsgroups | de.comp.lang.java |
| Subject | Re: guter Stil void oder boolean |
| Date | 2022-08-14 21:41 +0200 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <MPG.3d636e37906a191a98968c@newsfeed.aioe.org> (permalink) |
| References | <1a3b5a2f-84da-4710-978b-c953f1262955n@googlegroups.com> <taciqh$g7o$1@news-cypress.fernuni-hagen.de> |
In article <taciqh$g7o$1@news-cypress.fernuni-hagen.de>, feunews@mpaap.de says... > Ich sehe nicht, inwiefern das eine *Stilfrage* sein sollte. > > Wenn es eine Methode ist, die dir eine ja/nein-Frage beantwortet, gibst > du ein boolean zurück, wenn es eine Methode ist, die lediglich etwas > tut, aber dir keine explizite oder implizite Frage beantwortet, nimmst > du void. Wenn es eine Methode ist, die lediglich etwas tun soll, was > aber evtl. nicht klappt, dann codierst du das durch eine Exception, > nicht durch einen boolean-Rückgabewert. Ich sehe da eher wenige > Überschneidungen. Eine Überschneidung ist etwas wie ein datennstruktur#remove, wo man z.B. ein boolean oderr Objekt zurück geben kann, je nach dem, ob oder was tatsächlich was entfermt wurde, oder ob das Objektz oder der Schlüssel gar nicht vorhanden war. Eine Exception wäre für sowas eine gewaltig überdimensionierte Kanone. IMHO sollte eine Exception eine tatsächliche Ausnahme sein, kein Teil des regulären Kontrollflusses. Wenn ich zum Beispiel ein Teil vom Lager nehme, kann ich das so lösen: a) Ich nehme es vom Lager (reduziere den Beatand um 1), war nichts drin, fliegt eine Exception. b) Ich nehme es vom Lager (reduziere den Beatand um 1), war nichts drin, bekomme ich einen Identifier als Optional. d) Ich nehme es vom Lager (reduziere den Beatand um 1), war nichts drin, bekomme ich ein false zurück. e) Ich nehme es vom Lager (reduziere den Beatand um 1), war nichts drin, mache ich nichts. Für mich ist a) okay, wenn ich immer vorher frage, ob das Teil am Lager ist, dann fängt die Exception praktisch eine mögliche race-condition. Wenn ich aber bei a) stumpf ohne vorher zu fragen immer vom Lager nehme und mit dem Fall, dass es nicht am Lager ist, immer im Exceptionhandler deale, dann missbrauche ich die Exception für den regulären Kontrollfluss und das finde ich ein wenig unelegant. Für mich ist e) wie ein Schuss ins Dunkle, ich gebe das Kommando den Lagerbestand zu reduzieren und weiß am Ende nicht, ob es geklappt hat, müsste also den Lagerbestand immer vorher nud nachher erfragen und eine eventuelle Race-Condition könnte für einen aissehen, wie ein Erfolg und für den anderen, wie ein Miserfolg. Gruß, -Wanja- -- ..Alesi's problem was that the back of the car was jumping up and down dangerously - and I can assure you from having been teammate to Jean Alesi and knowing what kind of cars that he can pull up with, when Jean Alesi says that a car is dangerous - it is. [Jonathan Palmer]
Back to de.comp.lang.java | Previous | Next — Previous in thread | Next in thread | Find similar
guter Stil void oder boolean Luis Bischof <luisbischof@gmx.de> - 2022-07-09 08:41 -0700
Re: guter Stil void oder boolean Michael Paap <feunews@mpaap.de> - 2022-07-09 20:53 +0200
Re: guter Stil void oder boolean Wanja Gayk <brixomatic@yahoo.com> - 2022-08-14 21:41 +0200
Re: guter Stil void oder boolean Michael Paap <feunews@mpaap.de> - 2022-07-10 00:46 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 12:57 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 16:25 +0200
Re: guter Stil void oder boolean Michael Paap <feunews@mpaap.de> - 2022-07-11 17:16 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 17:43 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 13:26 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 17:29 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 17:44 +0200
csiph-web