Mika: Frage zum Klassennamen

Hallo ihr,

ich bin mal über den Codeschnipsel: <i class=\"fa fa-spinner fa-spin\"></i> gestolpter. Fa steht denke ich mal für Font-Awesome, aber warum "\"? Wozu ist das gut und was bezweckt es?

Freundliche Grüße

akzeptierte Antworten

  1. Tach!

    ich bin mal über den Codeschnipsel: <i class=\"fa fa-spinner fa-spin\"></i> gestolpter. Fa steht denke ich mal für Font-Awesome, aber warum "\"? Wozu ist das gut und was bezweckt es?

    Das ist garantiert dem Kontext geschuldet, in dem dieser Code steht. Vermutlich ist der Kontext nicht HTML, sondern zum Beispiel ein in " eingerahmter PHP-String, dann muss man darin vorkommende " maskieren. Auch andere Arten der Codeschreibweise und Maskierungsvermeidung gibt es, aber das ist dann auch abhängig vom Kontext.

    dedlfix.

  2. Hallo

    ich bin mal über den Codeschnipsel: <i class=\"fa fa-spinner fa-spin\"></i> gestolpter. Fa steht denke ich mal für Font-Awesome

    Korrekt.

    aber warum "\"? Wozu ist das gut und was bezweckt es?

    Es ist für nichts gut. Vermutlich wurde der Code innerhalb einer Zeichenkette in Code einer Programmiersprache wie z.B. PHP verwendet. Wenn man dort als Begrenzungszeichen der Zeichenkette doppelte Anführungszeichen verwendet, muss man sie, wenn sie in der Zeichenkette selbst benutzt werden, dort maskieren, damit die Zeichenkette nicht bei ihrem ersten Auftreten beendet wird.

    # die Notation stammt vermutlich aus etwas ähnlichem:
    $zeichenkette = "<a href=\"irgendwohin.html\"><i class=\"fa fa-spinner fa-spin\"></i>Link nach irgendwo</a>";
    # ohne Maskierung wäre hier Schluss:
    $zeichenkette = "<a href=";
    # die Maskierung der Anführungszeichen kann man sich z.B. so sparen:
    $zeichenkette = '<a href="irgendwohin.html"><i class="fa fa-spinner fa-spin"></i>Link nach irgendwo</a>';
    

    Tschö, Auge

    --
    Eine Kerze stand [auf dem Abort] bereit, und der Almanach des vergangenen Jahres hing an einer Schnur. Die Herausgeber kannten ihre Leser und druckten den Almanach auf weiches, dünnes Papier.
    Kleine freie Männer von Terry Pratchett
    1. Super, Danke euch beiden

    2. @@Auge

      Vermutlich wurde der Code innerhalb einer Zeichenkette in Code einer Programmiersprache wie z.B. PHP verwendet. Wenn man dort als Begrenzungszeichen der Zeichenkette doppelte Anführungszeichen verwendet, muss man sie, wenn sie in der Zeichenkette selbst benutzt werden, dort maskieren, damit die Zeichenkette nicht bei ihrem ersten Auftreten beendet wird.

      Und wenn man soetwas tun muss, macht man mit ziemlicher Sicherheit was falsch.

      LLAP 🖖

      --
      „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
      1. Tach!

        Vermutlich wurde der Code innerhalb einer Zeichenkette in Code einer Programmiersprache wie z.B. PHP verwendet. Wenn man dort als Begrenzungszeichen der Zeichenkette doppelte Anführungszeichen verwendet, muss man sie, wenn sie in der Zeichenkette selbst benutzt werden, dort maskieren, damit die Zeichenkette nicht bei ihrem ersten Auftreten beendet wird.

        Und wenn man soetwas tun muss, macht man mit ziemlicher Sicherheit was falsch.

        Nicht alles, was man besser machen kann, ist auch falsch. Solange das Ergebnis dasselbe ist, sind zwei Vorgehensweisen lediglich anders, aber nicht falsch vs. richtig.

        dedlfix.

        1. hallo

          Und wenn man soetwas tun muss, macht man mit ziemlicher Sicherheit was falsch.

          Nein, dann ist man auf jeden Fall entschuldigt!

          Nicht alles, was man besser machen kann, ist auch falsch. Solange das Ergebnis dasselbe ist, sind zwei Vorgehensweisen lediglich anders, aber nicht falsch vs. richtig.

          Naja, Ausgabe ist eines, verständlicher Code etwas anderes. Beides hat seine Berechtigung.

          Perl hat mit q, qq, m//, und s/// dafür Sorge getragen, dass man nicht mit Zahnstochern um sich schmeissen muss.

          Ein Code-Autor tut gut daran, die Syntax-Möglichkeiten seiner Sprache zu erforschen.

          --
          Neu im Forum! Signaturen kann man ausblenden!
          1. Tach!

            Nicht alles, was man besser machen kann, ist auch falsch. Solange das Ergebnis dasselbe ist, sind zwei Vorgehensweisen lediglich anders, aber nicht falsch vs. richtig.

            Naja, Ausgabe ist eines, verständlicher Code etwas anderes. Beides hat seine Berechtigung.

            Ein Code-Autor tut gut daran, die Syntax-Möglichkeiten seiner Sprache zu erforschen.

            Verständlicher Code ist natürlich besser. Soweit sind wir uns einig. Aber weniger verständlicher Code ist deshalb noch lange nicht falsch. Beispielsweise würde ich Perl-Code nicht als falsch bezeichnen, nur weil es verständlichere Varianten des Programmierens gibt.

            dedlfix.

            1. hallo

              Ein Code-Autor tut gut daran, die Syntax-Möglichkeiten seiner Sprache zu erforschen.

              Verständlicher Code ist natürlich besser. Soweit sind wir uns einig. Aber weniger verständlicher Code ist deshalb noch lange nicht falsch. Beispielsweise würde ich Perl-Code nicht als falsch bezeichnen, nur weil es verständlichere Varianten des Programmierens gibt.

              Ein Newbie muss sicher all diese Möglichkeiten erst mal lernen, sonst können sie sogar noch mehr Vewirrung stiften.

              Aber wir wissen, dass die Zahnstocher eine 2^n Vermehrungsrate haben. Denke einfach mal an diese Kontextwechsel:

              PHP -> HTML -> JSON.

              Bereits in Javascript allein will man Zahnstocher in Patterns und anderswo tunlichst vermeiden.

              --
              Neu im Forum! Signaturen kann man ausblenden!
        2. @@dedlfix

          Nicht alles, was man besser machen kann, ist auch falsch. Solange das Ergebnis dasselbe ist, sind zwei Vorgehensweisen lediglich anders, aber nicht falsch vs. richtig.

          Soso, Spaghetti-Code ist also lediglich anders als sauber strukturierter Code; da ist nichts Falsches dran?

          Wenn man Eingabe, Verarbeitung und Ausgabe sauber voneinander trennt und bei der Ausgabe HTML-Tags nicht mit echo ausgibt, kommt man überhaupt nicht in die Verlegenheit, mehrfach geschachtelte Anführungszeichen escapen zu müssen.

          LLAP 🖖

          --
          „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
          1. Tach!

            Nicht alles, was man besser machen kann, ist auch falsch. Solange das Ergebnis dasselbe ist, sind zwei Vorgehensweisen lediglich anders, aber nicht falsch vs. richtig.

            Soso, Spaghetti-Code ist also lediglich anders als sauber strukturierter Code; da ist nichts Falsches dran?

            Ja klar. Oder deine Definition von falsch ist eine andere als meine. Falsch ist für mich Code, der zu einem ungewünschten Ergebnis führt. Schlecht geschriebener Code der zum selben Ergebnis kommt, ist lediglich schlecht geschrieben. Punktabzug in der B-Note, aber Ziel trotzdem erreicht.

            Wenn man Eingabe, Verarbeitung und Ausgabe sauber voneinander trennt und bei der Ausgabe HTML-Tags nicht mit echo ausgibt, kommt man überhaupt nicht in die Verlegenheit, mehrfach geschachtelte Anführungszeichen escapen zu müssen.

            Das ist ein Aspekt von gut geschriebenem Code. Aber auch kein Garant für Fehlerfreiheit. Man erkennt fachliche Fehler nur besser (hoffentlich).

            dedlfix.

            1. @@dedlfix

              Oder deine Definition von falsch ist eine andere als meine. Falsch ist für mich Code, der zu einem ungewünschten Ergebnis führt. Schlecht geschriebener Code der zum selben Ergebnis kommt, ist lediglich schlecht geschrieben. Punktabzug in der B-Note, aber Ziel trotzdem erreicht.

              Kann man so sehen. In einem Forum, dessen Ziel es ist zu vermitteln, guten Code zu schreiben, kann man „falsch“ aber auch anders sehen. Hohe B-Note: richtig, niedrige B-Note: falsch.

              LLAP 🖖

              --
              „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
              1. Hallo Gunnar Bittersmann,

                In einem Forum, dessen Ziel es ist zu vermitteln, guten Code zu schreiben, kann man „falsch“ aber auch anders sehen. Hohe B-Note: richtig, niedrige B-Note: falsch.

                Hohe B-Note: richtig, niedrige B-Note: es geht besser

                Besser, weil übersichtlicher, effizienter, …

                Bis demnächst
                Matthias

                --
                Rosen sind rot.
                1. @@Matthias Apsel

                  In einem Forum, dessen Ziel es ist zu vermitteln, guten Code zu schreiben, kann man „falsch“ aber auch anders sehen. Hohe B-Note: richtig, niedrige B-Note: falsch.

                  Hohe B-Note: richtig, niedrige B-Note: es geht besser

                  Einigen wir uns auf „Hohe B-Note: richtig, mittlere B-Note: es geht besser, niedrige B-Note: falsch“? 😉

                  LLAP 🖖

                  --
                  „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
                  1. Hallo Gunnar Bittersmann,

                    Einigen wir uns auf „Hohe B-Note: richtig, mittlere B-Note: es geht besser, niedrige B-Note: falsch“? 😉

                    Hmm. Selbst eine ganz niedrige B-Note führt in der Schule bei effektivem[1] Code immer noch zu ausreichend.

                    Bis demnächst
                    Matthias

                    --
                    Rosen sind rot.

                    1. Nicht zu verwechseln mit effizient. Ein Ziel kann auf unterschiedlichen Wegen erreicht werden. Jeder dieser erfolgreichen Wege ist per Definition effektiv. Jedoch gibt es möglicherweise effizientere Wege, da sie das Ziel mit weniger Aufwand erreichen oder bei gleichem Aufwand ein höherwertiges Ergebnis liefern. Man kann einen brennenden und nicht nur leuchtenden Adventskranz sicher auch mit dem Inhalt einer Flasche 1907er Heidsieck löschen. ↩︎

                    1. Hi,

                      Man kann einen brennenden und nicht nur leuchtenden Adventskranz sicher auch mit dem Inhalt einer Flasche 1907er Heidsieck löschen.

                      Damit macht man sich des Alkoholmißbrauchs schuldig!!! 😉

                      cu,
                      Andreas a/k/a MudGuard

              2. Tach!

                In einem Forum, dessen Ziel es ist zu vermitteln, guten Code zu schreiben,

                Vermitteln ist ein gutes Stichwort. Auch dafür empfinde ich es als nicht sonderlich hilfreich, etwas das grundsätzlich funktioniert, als falsch zu brandmarken. Damit schafft man erstmal unnötigerweise Distanz zu dessen Ersteller, die für das Vermitteln unpraktisch ist. "Funktioniert, aber so und so wird es noch besser, weil" kommt ohne das Zurückweisen aus.

                dedlfix.