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


Groups > de.comp.lang.python > #5883

[Python-de] Re: Code Style Review

From Marc Haber <mh+python-de@zugschlus.de>
Newsgroups de.comp.lang.python
Subject [Python-de] Re: Code Style Review
Date 2022-12-01 21:30 +0100
Message-ID <Y4kO61HT8XBTzKFs@torres.zugschlus.de> (permalink)
References <tm2jhn$1k5h8$1@news1.tnib.de> <480b80d21e58d280c437b4854bfc7cf1@posteo.de> <tm372k$1lddf$1@news1.tnib.de> <5a5ca26b-89eb-67c7-9ed2-b590eecc23a6@noris.de>

Show all headers | View raw


On Wed, Nov 30, 2022 at 10:47:53AM +0000, Matthias Urlichs wrote:
> On 28.11.22 21:52, Marc Haber wrote:
> > Die
> > Alternative, jeder Funktion das Konfig-Dictionary als Parameter
> > einzufüllen, finde ich noch schlechter lesbar. Wie ist in Python das
> > normale Idiom für sowas?
> 
> Du verpackst deine Funktionen in ein Objekt und gibst __init__ die
> Konfig als Parameter.

Auch wieder so eine Klasse die man niemals instanziiert? Dann sind die
"globals" in der Klasse gekapselt und nicht im Modul, das ist doch nur
eine Begrifflichkeit.

> Und wenn man nächstes Jahr zwei dieser Objekte gleichzeitig braucht,
> freut man sich, dass es sie schon gibt. :-)

Dann muss man aber doch die Klasse anders schreiben?

> Globals wie "debug" oder halt "DEBUG" gehören sich nicht, finde ich;
> dazu gibt es das "logging"-Modul, dem man (wenn's notwendig wird) eh
> viel flexibler sagen kann, was es loggen soll, als mit einer Konstanten.
> Außerdem ist "logging" weniger programmierfehleranfällig (wer hat noch
> nicht versehentlich nicht-debug-Code unter ein "if debug:" gestellt …)
> und visuell übersichtlicher. Und weniger tippen muss man auch …

Weniger tippen kann ich jetzt nicht sagen, ich hab hier jetzt:
logger = logging.getLogger(__name__)↲
loggingStreamHandler = logging.StreamHandler()↲
logger.addHandler(loggingStreamHandler)↲
und weiter unten (da wo die Kommandozeilenparameter gelesen werden):
    if args.debug:
        loggingStreamHandler.setLevel(10)↲
        logger.setLevel(10)↲
und noch weiter unten (da wo die Konfigurationsdatei gelesen wird):
   if not args.debug:
        loggingStreamHandler.setLevel(config.debuglevel)↲
        logger.setLevel(config.debuglevel)↲

Bin mir noch nicht sicher was da die richtige Bedingung sein muss,
eigentlich möchte ich dass args.debug ein config.debug überschreibt.

> Im Übrigen würde ich, wenn du mehr als einen Job gleichzeitig machen
> willst, dringend empfehlen, das "threading"-Modul in die Tonne zu treten
> und dir stattdessen "anyio" genauer anzusehen.

Das kann ich mir wohl nicht aussuchen, weil ich hier mit dem paho-Modul
für MQTT koexistieren muss.

Grüße
Marc


-- 
-----------------------------------------------------------------------------
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

Back to de.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Code Style Review Marc Haber <mh+usenetspam1118@zugschl.us> - 2022-11-28 16:19 +0100
  [Python-de] Re: Code Style Review c.buhtz@posteo.jp - 2022-11-28 15:37 +0000
    [Python-de] Re: Code Style Review Christopher Arndt <chris@chrisarndt.de> - 2022-11-28 16:48 +0100
      [Python-de] Re: Code Style Review c.buhtz@posteo.jp - 2022-11-28 19:53 +0000
      Re: [Python-de] Re: Code Style Review Marc Haber <mh+usenetspam1118@zugschl.us> - 2022-11-28 22:07 +0100
        [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-11-29 18:51 +0100
          [Python-de] Re: Code Style Review Marc Haber <mh+python-de@zugschlus.de> - 2022-11-29 21:44 +0100
            [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-11-29 23:16 +0100
    Re: [Python-de] Re: Code Style Review Marc Haber <mh+usenetspam1118@zugschl.us> - 2022-11-28 21:52 +0100
      [Python-de] Re: Code Style Review c.buhtz@posteo.jp - 2022-11-28 22:38 +0000
        Re: [Python-de] Re: Code Style Review Enrik Berkhan <Enrik.Berkhan@inka.de> - 2022-11-29 06:03 +0000
        Re: [Python-de] Re: Code Style Review Marc Haber <mh+usenetspam1118@zugschl.us> - 2022-11-29 15:22 +0100
          [Python-de] Re: Code Style Review c.buhtz@posteo.jp - 2022-11-29 14:39 +0000
      [Python-de] Re: Code Style Review Matthias Urlichs <matthias.urlichs@noris.de> - 2022-11-30 10:47 +0000
        [Python-de] Re: Code Style Review Marc Haber <mh+python-de@zugschlus.de> - 2022-12-01 21:30 +0100
          [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-12-02 00:07 +0100
            Re: [Python-de] Re: Code Style Review "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-03 14:32 +0100
          [Python-de] Re: Code Style Review Matthias Urlichs <matthias.urlichs@noris.de> - 2022-12-02 09:29 +0000
            [Python-de] Re: Code Style Review Marc Haber <mh+python-de@zugschlus.de> - 2022-12-02 18:02 +0100
    [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-11-29 18:33 +0100
  [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-11-29 18:18 +0100
    [Python-de] Re: Code Style Review Hans-Peter Jansen <hpj@urpla.net> - 2022-11-30 15:52 +0100
    [Python-de] Re: Code Style Review Marc Haber <mh+python-de@zugschlus.de> - 2022-12-01 21:16 +0100
      [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-12-01 23:58 +0100
        [Python-de] Re: Code Style Review Marc Haber <mh+python-de@zugschlus.de> - 2022-12-02 18:10 +0100
          Re: [Python-de] Re: Code Style Review "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-03 14:36 +0100

csiph-web