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


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

Re: guter Stil void oder boolean

From Patrick Roemer <sangamon@netcologne.de>
Newsgroups de.comp.lang.java
Subject Re: guter Stil void oder boolean
Date 2022-07-11 16:25 +0200
Organization news.netcologne.de
Message-ID <tahbst$hc6$1@newsreader4.netcologne.de> (permalink)
References <1a3b5a2f-84da-4710-978b-c953f1262955n@googlegroups.com> <tagvmk$b8e$1@newsreader4.netcologne.de> <Design-20220711123647@ram.dialup.fu-berlin.de>

Show all headers | View raw


Responding to Stefan Ram:
> Patrick Roemer <sangamon@netcologne.de> writes:
>>Wenn Du nicht sicher bist, ob und was die Methode zurückgibt, kannst Du 
>>sie noch nicht schreiben. :)
> 
>    Wenn das ironisch gemeint sein sollte (wegen des Smileys),
>    frage ich mich, was dann Deine wirkliche Meinung dazu ist.

Das ist grundsätzlich so meine Meinung - der Smiley soll nur 
signalisieren, dass derart pauschale Aussagen immer falsch sind! :)

>    Jedenfalls gibt es Ansätze, wie "Code As Design" (Jack Reeves, 2005),
>    die für den Entwurf Code vorsehen. Vergleiche auch "stepwise
>    refinement" wie in Elan.
> 
>    Beim Entwurf kann es die mentale Belastung reduzieren, wenn
>    man nicht gleich alle Details hinschreiben muß.

Sicher. Aber die Details wären für mich die Implementierung, die Typen 
und Signaturen das Design.

>    In Python kann ich schreiben:
> 
> # a stub
> def ask_operator():
>      pass

Man verwendet ja eine statisch getypte Sprache, damit man sowas nicht 
machen kann - ohne wirklich

void askOperator() {
   // perhaps some side-effecting code here
}

zu meinen.

Interessanter würde es noch hiermit:

def ask_operator(x):
   pass

>    PS: Eine "saubere" Lösung wäre an sich die Definition eines
>    speziellen Typs als Rückgabetyp für Funktionen deren
>    Rückgabespezifiktion noch offen ist, aber ich finde, solch
>    ein Typ, wie "ToBeSpecified", würde beim Entwurf schon
>    wieder zu sehr ablenken.

Warum ein generisches ToBeSpecified und nicht ein spezifischer 
Platzhaltertyp, der schon mal so viel Semantik trägt, wie man im Moment 
zusammenbringt (zumindest hat er schon mal einen sprechenden Namen und 
kann nicht mit anderen Typen velwechsert werden), und den man iterativ 
zum "real thing" verfeinern kann?

interface AskResult {}

interface AskService {
   AskResult askOperator();
}

...und bei Bedarf noch:

class PlainAskService implements AskService {
   AskResult askOperator() { throw new NotImplemented(); }
}

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