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


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

[Python-de] Re: Code Style Review

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From c.buhtz@posteo.jp
Newsgroups de.comp.lang.python
Subject [Python-de] Re: Code Style Review
Date Tue, 29 Nov 2022 14:39:03 +0000
Lines 55
Message-ID <a43bb82caa98348051c894ae66fe2fef@posteo.de> (permalink)
References <tm2jhn$1k5h8$1@news1.tnib.de> <480b80d21e58d280c437b4854bfc7cf1@posteo.de> <tm372k$1lddf$1@news1.tnib.de> <7255f3485a4745df69dc13cedf68e8b0@posteo.de> <tm54jr$1p8p5$1@news1.tnib.de>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding quoted-printable
X-Trace news.uni-berlin.de rJpvKy7wxGyA1vXA6b1fpQd0mNkr+vONiVNl3942+ByA==
Authentication-Results mail.python.org; dkim=pass reason="2048-bit key; unprotected key" header.d=posteo.jp header.i=@posteo.jp header.b=g7bMw1Pm; dkim-adsp=pass; dkim-atps=neutral
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.jp; s=2017; t=1669732744; bh=1OO2lWV+NgTgXPSpWhXvip9Su23VSUjV3bbHc7h/DjU=; h=Date:From:To:Subject:From; b=g7bMw1PmemK9kBAwSxbglEWiT67rBaXCGQwpW+vnQi1lXiMSGb+ewx22szvMrQ4Rv wx7+XmC7ETyt8TWjjwvDrN4LjNutY21EWblHUCCvZVkZChDt34S+l8voCd0cS+DA7w Rth8ZzHSKufvfWqDEfq8Y1SBCChwx+AnhEs+Be81QZSSgtZ53RRdSqV12pIQzpoDtU 22jr5pBFQvc9ed0YEattpqarJxckDdV2hPAMQw9UwsIY1/LpuvnTDtpJq6/wBn6X2L SqBIagKx7UOilC4QoOP1gD8rJbaTpIymgwmGNh5gBRlLvTEqn2HzGVBW2mm4TekK+E IRM4lTTzhrRWg==
Mail-Followup-To python-de@python.org
In-Reply-To <tm54jr$1p8p5$1@news1.tnib.de>
Message-ID-Hash R744A5EWTYVGEXSSZMD6BECAF6CENCZS
X-Message-ID-Hash R744A5EWTYVGEXSSZMD6BECAF6CENCZS
X-MailFrom c.buhtz@posteo.jp
X-Mailman-Rule-Misses dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-python-de.python.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version 3.3.7
Precedence list
List-Id Die Deutsche Python Mailingliste <python-de.python.org>
Archived-At <https://mail.python.org/archives/list/python-de@python.org/message/R744A5EWTYVGEXSSZMD6BECAF6CENCZS/>
List-Archive <https://mail.python.org/archives/list/python-de@python.org/>
List-Help <mailto:python-de-request@python.org?subject=help>
List-Owner <mailto:python-de-owner@python.org>
List-Post <mailto:python-de@python.org>
List-Subscribe <mailto:python-de-join@python.org>
List-Unsubscribe <mailto:python-de-leave@python.org>
Xref csiph.com de.comp.lang.python:5872

Show key headers only | View raw


Hallo Marc,

Am 29.11.2022 15:22 schrieb Marc Haber:
> c.buhtz@posteo.jp wrote:
>> Es gibt andere Lösungen.
> 
> Und die wären?

Siehe unten.

> Jeder einzelnen Funktion in jedem einzelnen Aufruf das
> config-Hash als Parameter mitgeben?

Nein, das würde ich auch nicht machen wollen. ;)

>> Besser wäre hier eine
>> Art Singleton-Pattern anzuwenden.
>> Sagen wir deine Konfiguration ist in der Klasse "Config".
>> 
>> class Config:
>> [...]
> Das sind 22 Zeilen für was?

Bitte Pattern nicht als fertige Lösung betrachten, schon gar nicht im 
Kontext von Python. Ich verstehe die immer als Lösungsansätze, die 
sozusagen zum Denken anregen sollen. Sie müssen nicht 1 zu 1 umgesetzt 
werden.

Es gab da ja auch den, für mich auch neuen, Vorschlag zum "Borg 
Pattern".

> Und da habe ich immer noch nicht das
> Problem gelöst, dass ich das einzelne Objekt dieser Klasse immer noch
> als globale Variable mitziehen muss

Ne, eben nicht. Die Klasse kennt ihre eigene Instanz. Du musst dir keine 
Gedanken mehr darum machen, "wo" diese Instanz herkommt.
Mach einfach "Config.instance()".

Eine andere Alternative wäre ein ganzes "config" Modul anzulegen; also 
"config.py" die du mit "import config" bekannt machst und dann z.B. 
"config.instance.getFoobar()" schreiben kannst. Deine globale Variable 
kapselst du in einem Modul.

> Oder stehe ich hier auf dem Schlauch?

Wie gesagt, kann man Pattern (z.B. Singleton) genau dazu nutzen, um mal 
"anders zu denken". Mir geht das bei dem "Borg" Ding so. Kannte ich 
nicht. Finde ich auch nicht sehr geil. Aber erweitert den Horizont, 
besonders wenn man sich die dahinterstehenden Prinzipien genau anschaut.

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