[Python-de] Re: Code Style Review

Marc Haber <[email protected]>
Newsgroups gmane.comp.python.general.german
Organization private site, see http://www.zugschlus.de/ for details
Message-ID <[email protected]>
Christopher Arndt <[email protected]> wrote:
>Am 28.11.22 um 16:37 schrieb [email protected]:
>> Neben PyLint könntest du auch nochmal "flake8" auf den Code loslassen.
>
>Außerdem könntest du auch noch entweder "black" oder "yapf" oder ein 
>ähnliches Tool benutzen, um den Code einheitlich und anhand üblicher 
>Gepflogenheiten zu formatieren.

black wird von flake8 und vim-ale direkt aufgegriffen, das ist sicher
auch eine Hilfe.

>Momentan sind bei dir Code auf globaler Ebene und Funcktionen wild 
>gemischt. Das ist ziemlich unübersichtlich

... und perlish. Ich hab das mal angepasst auf

>if __name__ == '__main__':
>     main()
>
>Das zwingt dazu, sich überlegen zu müssen, welche Daten wirklich global 
>sein müssen und wie ansonsten Daten zwischen Funktionen und Klassen 
>weitergereicht werden.

Da muss ich meine Logik noch etwas aufmischen weil das dann natürlich
nicht mehr mit den globals passt, da muss ich dann mit mehr
Funktions-Parametern arbeiten. Dazu melde ich mich in ein paar Tagen
wieder.

Kann ich die Locks innerhalb der entsprechenden Funktion definieren
oder bekomme ich dann in jedem Thread ein eigenes Lock, was der
Intention entgegen spricht?

Ist:

foolock = threading.Lock()
def foo:
    with foolock:
        (tue Dinge mit foo, potenziell multithreaded)

dasselbe wie

def foo:
    foolock = threading.Lock()
    with foolock:
        (tue Dinge mit foo, potenziell multithreaded)

?

Ist die in
https://www.bogotobogo.com/python/Multithread/python_multithreading_Using_Locks_with_statement_Context_Manager.php
und
https://www.pythontutorial.net/python-concurrency/python-threading-lock/
verwendete Schreibweise, wo das Lock als Parameter mit in die Funktion
hineingereicht wird, wirklich "schönes" Python?

Oder schreibe ich mein ganzes Programm als eine Klasse, die genau
einmal instanziiert wird und dann in ihren statischen Variablen (so
wäre es in C++) die Tabelle, die Konfiguration, die Locks, den
Debugstatus etc hält? Sind solche Ein-Instanz-Klassen "schönes"
Python?

Grüße
Marc
-- 
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber         |   " Questions are the         | Mailadresse im Header
Mannheim, Germany  |     Beginning of Wisdom "     | 
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834
_______________________________________________
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.