[Python-de] Re: Code Style Review

Marc Haber <[email protected]>
Newsgroups gmane.comp.python.general.german
Message-ID <Y4oxmn+V/[email protected]>
On Thu, Dec 01, 2022 at 11:58:31PM +0100, Stefan Schwarzer wrote:
> On 2022-12-01 21:16, Marc Haber wrote:
> > On Tue, Nov 29, 2022 at 06:18:38PM +0100, Stefan Schwarzer wrote:
> > > Du kannst einfach von überall aus dem Modul auf das
> > > `config`-Objekt zugreifen und brauchst auch kein `global`.
> > > Die Klasse wird nie instanziiert, sondern nur als Namespace
> > > benutzt.
> > 
> > Habe ich ausprobiert, funktioniert. Nur pylint meckert:
> > too-few-public-methods: Too few public methods (0/2)
> 
> Hihi, ja, das ist wieder das "Problem" mit Pylint. ;-)

Das ist so eine Warning, die ich vermutlich irgendwann global per
Konfigurationsfile ausschalten werde, genauso wie die, die
allgemein übliche Variablennamen wie "i" für einen Zähler oder "ts" für
einen Timestamp als "nicht ím snake_case geschrieben" anmeckert.

> > Und eigentlich ist das doch auch nur ein Satz globaler Variablen auf
> > Steroiden.
> 
> Ja, das kann man so sehen. Ich finde die Extra-Klasse ganz
> schön, um zusammengehörige Objekte zu gruppieren. Ich würde
> das hier wahrscheinlich machen, aber man kann auch
> argumentieren, dass es bei drei(?) Objekten in der Klasse
> auch ok ist, Variablen auf der Modul-Ebene zu verwenden.
> Letztlich ist das Geschmackssache, denke ich.

Ich habe das Gefühl, dass in python ganz besonders wenig als
"Geschmackssache" durchgeht und ziemlich viel "das schreibt und
formatiert man so, basta" gehandhabt wird. Daran muss ich mich erstmal
gewöhnen, ich komme eher aus der "there is more than one way to do it"
Ecke. Aber ich versuche, ein Gefühl zu bekommen, vielleicht gefällt es
mir ja.

Ich habe sehr viel in Perl gemacht, weil es für alles und jedes ein
Modul gibt, das ist in Python (inzwischen) auch so, und einiges in ruby,
weil das wenn man im puppet-Umfeld arbeitet einfach die "natürliche"
Sprache ist.

> > Ich finde es eigentlich ganz gut, wenn es für Konfigurationsvariablen
> > auch eine entsprechende Kommandozeilenoption gibt. Auf diese Weise kann
> > man die regelmäßig verwendeten Optionen in die Konfigurationsdatei
> > schreiben und wenn man es doch mal anders braucht auf der Kommandozeile
> > überschreiben.
> 
> Wenn du eine starke Überschneidung zwischen der
> Konfiguration im allgemeinen und der Konfiguration von der
> Kommandozeile hast

Das ist bei meinen kleinen praktischen Kommandozeilentools recht häufig
der Fall. Erschwerend kommt hinzu, dass ich eine schwere Abneigung gegen
ini-Files habe und yaml vorziehe.

> Ich finde das gut, dass du mit verschiedenen Ansätzen
> experimentierst. Dann bekommst du ein noch besseres Gefühl
> dafür, welche Vor- und Nachteile verschiedene Ansätze haben.

Darum geht es mir ja, ich möchte ein Gefühl für die Sprache bekommen.
Das Logging-Modul gefällt mir schonmal so gut, dass ich mich bei meiner
nächsten größeren perl-Arbeit¹ an den python-Idiomen orientieren werde.

Grüße
Marc

¹ das Logging in Debians adduser
(https://tracker.debian.org/pkg/adduser) ist grauslich, das gehört
dringend mal gerade/orthogonal gezogen, am besten noch vor dem nächsten
Freeze

-- 
-----------------------------------------------------------------------------
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
Leimen, Germany    |  lose things."    Winona Ryder | Fon: *49 6224 1600402
Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.