Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5869
| From | c.buhtz@posteo.jp |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | [Python-de] Re: Code Style Review |
| Date | 2022-11-28 22:38 +0000 |
| Message-ID | <7255f3485a4745df69dc13cedf68e8b0@posteo.de> (permalink) |
| References | <tm2jhn$1k5h8$1@news1.tnib.de> <480b80d21e58d280c437b4854bfc7cf1@posteo.de> <tm372k$1lddf$1@news1.tnib.de> |
Am 28.11.2022 21:52 schrieb Marc Haber:
> Das sehe ich mindestens teilweise anders. Wenn ich irgendwo explizit
> hinschreibe, dass eine Funktion eine globale Variable verwendet (wie
> z.B. das dictionary, in dem die Konfiguration drin steht) und der
> Linter das unkonditional anmeckert nur allein weil das Schlüsselwort
> benutzt wurde ergibt das für mich keinen Sinn
Auch wenn es radikal klingen mag; Es hat keinen Sinn "global" zu
verwenden, auch wenn Python das im Sprachumfang hat. Ein "global" hat
sehr viele Nebeneffekte und birgt potentielle Risiken, die den Gewinn
nicht aufwiegen. Es gibt andere Lösungen.
> Gerade für die Konfiguration halte ich die globale Variable auch für
> den vernünftigen Weg, das wirklich überall bekannt zu machen.
Nein, ist es nicht. Das ist nur eine "Abkürzung". Besser wäre hier eine
Art Singleton-Pattern anzuwenden.
Sagen wir deine Konfiguration ist in der Klasse "Config".
class Config:
@classmethod
def instance(cls):
# Provide the instance if it exists
if cls._instance:
return cls._instance
# But don't created implicit when needed.
raise Exception(f'No instance of class "{cls}" exists. '
'Create an instance first.')
def __init__(self):
# Exception when an instance exists
if __class__._instance:
raise Exception(
f'Instance of class "{self.__class__.__name__}" still
exists!'
f' Use "{self.__class__.__name__}.instance()" to access
it.')
# Remember the instance as the one and only singleton
__class__._instance = self
Quelle:
https://github.com/bit-team/backintime/blob/buhtz_config-singleton/common/config.py
Back to de.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
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