[Python-Leipzig] Treffen am Dienstag, 12. Mai 2015, 20:00 Uhr

Markus Zapke-Gründemann markus at keimlink.de
Mo Mai 25 20:38:50 UTC 2015


On 2015-05-15 21:30 +0200, Martin Meinhardt wrote:
> Am 15.05.2015 09:47, schrieb Stefan Schwarzer:
> > - Ich bin mir nicht so sicher, inwieweit man einen
> >    `get_`-Präfix verwenden sollte. Warum heißt es bei
> >    `Collection` zum Beispiel `count` (ohne `get`), aber
> >    `get_element` (mit `get`)?
> >
> >    Ich bin seit langer Zeit dazu übergegangen, keine
> >    `get_`-Präfixe mehr zu verwenden und werde das höchstens
> >    ändern, wenn mir jemand ein überzeugendes Kriterium nennen
> >    kann, wann man `get_` verwenden sollte und wann nicht. :-)
> >
> >    Das einzige Kriterium, das ich mir vorstellen kann, ist,
> >    `get_` bei jeder Query-Methode zu verwenden, aber das
> >    würde viele APIs recht geschwätzig machen.
> >
> >    Kennt jemand ein gutes Kriterium dafür, wann man einen
> >    `get_`-Präfix verwenden sollte?
> 
> Zum "get_"-Präfix viel mir der sehr gute Vortrag "Beyond PEP 8 -- Best 
> practices for beautiful intelligible code" ein, den Raymond Hettinger 
> auf der PyCon 2015 gehalten hat. Ab 28:36[1] bis 29:37 äußert er sich zu 
> 'getters' und 'setters'. (Das gesamte Video ist unbedingt sehenswert.)
> 
> Innerhalb einer Klasse würde ich den Setter und Getter für die Property 
> mit "get_" oder "set_" bezeichnen. Nach außen, wo es aussieht wie ein 
> Attribute, würde ich den Präfix weglassen.
> Ich schätze das man meist beim schreiben der Property den "internen" 
> get-Namen der Funkton nach außen als Attributsnamen übernimmt.
> Statt "get_something" wäre auch ein Name wie "return_something()" und 
> ähnliches möglich. Da sehe ich auch am Namen das was passiert. Wobei das 
> dann schon wieder eher für eine Funktion als ein Attribute/Property 
> spricht...
> 
> Ich selbst benutze Properties wie Attribute. So wie in der 
> Python-Dokumentation zu Properties[2] beschrieben. Das impliziert das es 
> ein 'get' oder 'set' gibt, und braucht meiner Ansicht nach nicht im 
> Namen zu stehen.
Danke für Hinweis auf den guten Vortrag von Raymond Hettinger!

Wir haben inzwischen überall wo es sinnvoll ist auf properties
umgestellt:

https://github.com/transcode-de/durga/pull/53/files


Viele Grüße

Markus



Mehr Informationen über die Mailingliste Python-Leipzig