Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.java > #13393
| 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> |
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 | 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