Seite 1 von 1
Funktionsname gesucht...
Verfasst: Freitag 17. Januar 2014, 12:17
von mutetella
Hallo,
ich habe eine Klasse `DateTime` die von `datetime` erbt. Die Klasse besitzt ein Attribut `has_time`, das je nachdem, ob ich ein Exemplar mit (y, m, d, H, M) oder nur mit (y, m, d) erstelle auf `True` oder `False` gesetzt wird. Bekommt das Exemplar bei der Erstellung keine Zeit, wird diese zunächst auf (0, 0) gesetzt. Die Klasse soll nun folgende Methode erhalten
Code: Alles auswählen
def dependently_replace(self, hour, minute):
if self.has_time:
return self
return self.replace(hour=hour, minute=minute)
`dependently_replace` ist doch total bescheuert! Mir fällt einfach nix gescheites ein...
mutetella
Re: Funktionsname gesucht...
Verfasst: Freitag 17. Januar 2014, 12:55
von DasIch
replace_if_time?
Re: Funktionsname gesucht...
Verfasst: Freitag 17. Januar 2014, 13:12
von Hyperion
DasIch hat geschrieben:replace_if_time?
Hier aber eher ``replace_if_not_time``
Wie wäre es denn mit ``replace_gently``? Oder ``replace_if_needed``?
Re: Funktionsname gesucht...
Verfasst: Freitag 17. Januar 2014, 13:29
von N317V
Das ist also eine Methode, die die Zeit auf einen mitgegebenen Wert setzt oder eben nicht. Und abhängig davon gibt sie entweder self zurück oder was auch immer die replace-Methode zurückgibt. Ich weiß nicht, irgendwie scheint mir das alles nicht so durchdacht. Warum machst Du nicht eine set_time-Methode, die Du von vornherein nur aufrufst, wenn hour und minute 0 sind? Oder hab ich jetzt nicht verstanden was Du bezweckst?
Re: Funktionsname gesucht...
Verfasst: Freitag 17. Januar 2014, 13:42
von BlackJack
@N317V: Du berücksichtigst dabei das `has_time`-Flag nicht. Denn Stunde und Minute können ja auch mit gesetztem Flag 0 sein, das ist ja ein gültiger Wert und taugt somit nicht als Kennzeichen für „keine Zeit”.
Re: Funktionsname gesucht...
Verfasst: Freitag 17. Januar 2014, 13:55
von mutetella
@N317V
time(0, 0) kann ja eine gewollt oder per default gesetzte Zeit sein. Lässt sich also so nicht unterscheiden, woher die kommt.
`replace_gently` finde ich bis jetzt ganz gut...
mutetella
Re: Funktionsname gesucht...
Verfasst: Freitag 17. Januar 2014, 14:25
von NoPy
Im Grunde "erzwingst" Du eine Uhrzeit, auch wenn keine da ist.
Wie wäre es mit "force_time" oder "forced_time" ?
Re: Funktionsname gesucht...
Verfasst: Freitag 17. Januar 2014, 16:10
von snafu
In einigen Projekten habe ich auch schon "maybe" als Präfix gesehen. Bezogen auf deine Funktion wäre es dann also ``maybe_replace()``. Oder du nennst sie einfach nur ``replace()`` und gehst davon aus, dass ein interessierter Anwender die Doku bemüht, um das Verhalten der Funktion zu verstehen.
Re: Funktionsname gesucht...
Verfasst: Freitag 17. Januar 2014, 17:49
von diesch
Code: Alles auswählen
def ensure_has_time(self, default_hour, default_minute):
Re: Funktionsname gesucht...
Verfasst: Montag 20. Januar 2014, 11:52
von N317V
Ja, verdammt. Mein Fehler, sorry. Da hatte wohl mein Suppenkoma noch zugeschlagen und mein zweiter Kaffee noch nicht gewirkt.
