Namensgebung: Unterstrich für DB, Minus für HTML&Co?

  • Hallo
    Die Google-KI Gemini schlägt mir vor, einzelne Worte in den Namen von MySQL-Tabellen mit Unterstrichen zu trennen (zB. lou_buchen_alle_tab). Weiter meint sie, dass es üblich ist, einzelne Worte in Namen von durch HTML oder CSS erzeugten Objekten (zB. Eingabmasken) mit Minuszeichen zu trennen (lou-buchen-alle-form).
    Bei Letzterem bin ich skeptisch und finde auch nichts wirklich etwas dazu, höchstens, dass eine solche Schreibweise zu Fehlern in der Codeausführung führen kann.

    Unterstriche für DB-Tabellen. Das ist wohl so üblich.
    Aber Minuszeichen für HTML-/CSS-Objekte?
    Was sagt Ihr dazu?

    Vielen Dank.
    Grüsse, Louis

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Danke. Ich habe dort leider nicht gefunden, wie Namen aufgebaut werden sollen. Sind Unterstriche als Worttrenner sowohl bei MySQL als auch bei HTML/CSS besser als Bindestriche?

  • Das sind 2 völlig verschiedene Baustellen.

    Bei MySQL solltest du im Bereich von WordPress so vorgehen wie WordPress es vorgibt. Siehe oben.

    Die Dateinamen (URLs) deiner Seiten könnten sowohl Bindestriche als auch Unterstriche enthalten. Der Unterschied ergibt sich hier in der Interpretation durch Suchmaschinen (Stichwort SEO): Bindestriche werden hier bevorzugt. Siehe z.B. diesen Beitrag von 2011 der auch heute noch (und viel bedeutender) Relevanz hat: https://developers.google.com/search/blog/20…destriche?hl=de

    In CSS-IDs- und -Klassen ist es dir überlassen wie du mit den Trennzeichen umgehst. Das hat für Browser keinerlei Bedeutung. Rein vom Lesen her als Entwickler finde ich Bindestriche angenehmer. Allerdings kommt es auch auf das Programm an mit dem man ggfs. den Code bearbeitet. Geschmackssache.

  • In der o.g. Dokumentation findet sich u.a.

    Zitat

    classname Specifies one or more class names for an element. To specify multiple classes, separate the class names with a space, e.g. <span class="left important">. This allows you to combine several CSS classes for one HTML element.

    Naming rules:

    • Must begin with a letter A-Z or a-z
    • Can be followed by: letters (A-Za-z), digits (0-9), hyphens ("-"), and underscores ("_")


    Im Regelfall kommt man mit all der Datenbank Tabellen und HTML/CSS Namensgebung eher gar nicht in Berührung und mit WordPress selbst hat das auch alles kaum zu tun.

    Formuliere Deine Probleme am besten ausführlicher mit jeweils einem konkreten Beispiel und ggf. auftretenden Fehlermeldungen.

  • Ich möchte ein eigenes Buchhaltungs-Plugin schreiben, das genau an den Verein angepasst ist, bei dem ich die Finanzen erledige. Für Abklärungen habe ich auch mit der Googl-KI Gemini diskutiert. Bei der Frage, ob ich ein Formular zB. lou_buchen_alle_form nennen soll, schreibt sie:
    "Hier empfehle ich eine kleine Anpassung in der Schreibweise, die im Web-Design (CSS) und JavaScript Standard ist.
    Im HTML nutzt man für IDs meistens den Bindestrich (-) statt des Unterstrichs (_). Der Unterstrich wird oft für Datenbanken und PHP-Variablen reserviert"
    Weil ich dazu nichts recherchieren konnte, habe ich hier im Forum gefragt.

    Die vollständige Frage/Antwort hier:

    Meine Frage an Gemini:
    Ich habe Wordpress soeben nochmal neu installiert und den Präfix lou_ vergeben. Eine Tabelle würde also zB. den Namen lou_buchen_alle_tab haben. Und das darauf aufbauende Formular? lou_buchen_alle_form zB.?

    Antwort Gemini:
    Das ist ein hervorragender Ansatz! Mit dem Präfix lou_ hast du eine saubere Basis geschaffen.

    Was die Benennung angeht: Du kannst das so machen, aber es gibt eine wichtige Unterscheidung zwischen Tabellennamen (Datenbank) und Formular-IDs (HTML/Frontend), die dir das Leben später beim Programmieren leichter machen wird.

    1. Die Tabelle: lou_buchen_alle_tab
    Das ist perfekt. Der Präfix steht am Anfang, und das Suffix _tab hilft dir sofort zu erkennen: „Das ist eine Tabelle in der MySQL-Datenbank.“

    2. Das Formular: lou_buchen_alle_form?
    Hier empfehle ich eine kleine Anpassung in der Schreibweise, die im Web-Design (CSS) und JavaScript Standard ist.
    Im HTML nutzt man für IDs meistens den Bindestrich (-) statt des Unterstrichs (_). Der Unterstrich wird oft für Datenbanken und PHP-Variablen reserviert.
    Mein Vorschlag für dein Formular:
    id="lou-buchen-alle-form"
    Warum diese Trennung der Schreibweise hilfreich ist:

    • Auge & Gehirn: Wenn du in deinem Code lou_buchen_alle_tab (mit Unterstrichen) siehst, weiß dein Gehirn sofort: „Achtung, hier geht es um die Datenbank/PHP.“
    • Auge & Gehirn: Wenn du lou-buchen-alle-form (mit Bindestrichen) siehst, weißt du: „Das ist ein Element auf meiner Webseite (HTML/CSS/JS).“


    Muss das Formular denselben Namen haben wie die Tabelle?
    Nicht zwingend, aber es ist eine sehr gute Gedankenstütze! In der Software-Entwicklung nennen wir das Mapping. Es hilft dir enorm, wenn du nach sechs Monaten wieder in deinen Code schaust.

    Objekt-Typ Empfohlener Name Wo wird es genutzt?
    Datenbank-Tabelle
    lou_buchen_alle_tab MySQL / PHP ($wpdb)
    Formular (ID) lou-buchen-alle-form HTML / CSS / JavaScript
    Formular-Titel "Buchungs-Journal 1995" Sichtbar für dich als Benutzer

    Ein wichtiger technischer Punkt zu WordPress
    Wenn du WordPress installiert hast und lou_ als Präfix gewählt hast, wird WordPress intern jede Tabelle so ansprechen: $wpdb->prefix . 'buchen_alle_tab'.
    Das bedeutet: Falls du dein Plugin später einmal auf einer anderen WordPress-Seite installierst, die vielleicht den Präfix wp_ nutzt, passt sich dein Plugin automatisch an.
    Soll ich dir zeigen, wie wir in deinem Plugin eine "Konstante" definieren, damit du nicht jedes Mal lou_buchen_alle_tab ausschreiben musst, sondern einfach kurz LOU_TABELLE sagen kannst? (Das macht den Code viel übersichtlicher!)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!