Globale Variable erlaubt?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Domroon
User
Beiträge: 104
Registriert: Dienstag 3. November 2020, 10:27
Wohnort: Dortmund

Hallo Leute,

ich beschäftige mich momentan mit SQLAlchemy und beschäftige mich gerade mit Relationships. Beim ausprobieren und durchlesen der Dokumentation bin ich etwas verwirrt. Es geht um diese Seite: https://docs.sqlalchemy.org/en/14/orm/b ... ships.html

Beim Unterpunkt "Many To Many" wird eine "assocation_table" erstellt. Wieso wird da einfach so eine Variable in der obersten Ebene erstellt? Ich habe gelernt, dass globale Variablen nie eine gute Idee sind. Es kann auch sein, dass ich gerade völlig in die falsche Richtung denke?

Danke euch schonmal :wink:
Benutzeravatar
__blackjack__
User
Beiträge: 13117
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Domroon: Das ist keine Variable, das ist eine Konstante. Das beschreibt, genau wie die Klassen, die Tabellenstruktur in der Datenbank, die sich zumindest während das Programm läuft nicht ändert.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
Domroon
User
Beiträge: 104
Registriert: Dienstag 3. November 2020, 10:27
Wohnort: Dortmund

Okay, das macht Sinn. Nur irgendwie blöd, dass sich die Dokumentation dann nicht an die "stille Vereinbarung" hält alle Konstanten komplett groß zu schreiben... Oder ist das an dieser Stelle wohl extra so gewollt?
Benutzeravatar
__blackjack__
User
Beiträge: 13117
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Das musst Du die Autoren von SQLAlchemy/der Dokumentation fragen. 🤷‍♂️
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
DeaD_EyE
User
Beiträge: 1021
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Code: Alles auswählen

association_table

ASSOCIATION_TABLE
Beim letzten bekomme ich Augenschmerzen.


Kann sich association_table auch verändern?
Falls ja, ist es keine "Konstante".
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Benutzeravatar
__blackjack__
User
Beiträge: 13117
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@DeaD_EyE: Nein, kann sich nicht ändern. Das beschreibt eine Tabelle in der Datenbank.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Bei SQLAlchemy Tabellen Namen klein zu schreiben hat im wesentlichen drei Gründe:
  • Der Name im Code ist konsistent mit dem Namen in der Datenbank
  • Kleinschreibung ist konsistent mit der SQLAlchemy Dokumentation (und auch allen Projekten dir mir bekannt sind und SQLAlchemy nutzen).
  • Man benutzt die Namen viel häufiger als üblich für Konstanten, vor allem wenn man die expression language benutzt und nicht das ORM. Ständig Großbuchstaben zu nutzen ist jetzt nicht so toll beim tippen.
So ganz PEP 8 konform ist es natürlich nicht allerdings sagt PEP 8 auch A Foolish Consistency is the Hobgoblin of Little Minds, von daher denke ich dass man sich damit auch noch in einem akzeptablem Rahmen bewegt.
Antworten