Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.java > #13403

Re: guter Stil void oder boolean

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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