Sollte HTML mit Code koexistieren?

7

Ist es in einer Webanwendung akzeptabel, HTML in Ihrem Code zu verwenden (nicht geskriptete Sprachen, Java, .NET)?

Es gibt zwei wichtige Unterfragen:

  1. Solltest du Code verwenden, um HTML zu drucken, oder HTML direkt erstellen, das angezeigt wird?
  2. Solltest du Code in deinen HTML-Seiten mischen?
IanL 23.10.2009, 15:33
quelle

14 Antworten

13

Im Allgemeinen ist es besser, die Präsentation (HTML) getrennt von der Logik ("Back-End" -Code) zu halten. Ihr Code ist entkoppelt und einfacher zu pflegen.

    
Chris Broadfoot 15.09.2008, 17:07
quelle
5

Solange Ihr HTML-Code von Ihrer Anwendungslogik getrennt ist und der HTML-Code garantiert gut strukturiert ist, sollten Sie in Ordnung sein.

Der einzige Code, der in Markup-basierten Seiten gemischt werden sollte (d. h. solche, die literales HTML enthalten) ist der Code, der zum Formatieren des HTML verwendet wird (z. B. eine Schleife zum Schreiben einer Liste).

Es gibt Kompromisse, ob Sie den Code in den HTML-Code einfügen oder reinen Code verwenden, um den HTML-Code mithilfe von String-Literalen in Anführungszeichen zu schreiben.

    
Mark Cidade 15.09.2008 17:09
quelle
1

Nein, wenn Sie gute und wartbare Software erstellen und eine lose Kopplung erreichen wollen.

    
Ivan Bosnic 15.09.2008 17:09
quelle
1

Wenn ich die Frage richtig verstanden habe, fragen Sie, ob es eine gute Methode ist, Markup mit Backend-Code zu kombinieren. Nein. Das ist zwar üblich, aber immer noch eine schlechte Idee.

Sie sollten das MVC -Paradigma sowie bestehende Fragen zu diesem Thema lesen. wie Was ist? der beste Weg, um eine bestehende unordentliche Webapp auf elegante MVC zu migrieren? und Best Practices für die Umgestaltung von klassischem ASP?

    
Sören Kuklau 15.09.2008 17:13
quelle
1

Der Punkt besteht darin, die Anzeigelogik vom Rest des Codes getrennt zu halten. In jeder komplexen Website wird Code mit Ihrem HTML-Code gemischt, der Code sollte jedoch nur zu Darstellungszwecken dienen. Es sollte keine komplexen Berechnungen durchführen.

Zum Beispiel enthalten Vorlagen Schleifen und Bedingungen. Außerdem haben Sie wahrscheinlich eine Bibliothek von HTML-spezifischen Routinen, wie das Ausdrucken einer & lt; -Option & gt; Liste basierend auf einem Listenobjekt.

Stellen Sie sich vor, Sie schreiben eine Anwendung mit zwei Ausgabemodi: HTML und etwas anderes. Wie würdest du es schreiben, um Code zu duplizieren? Das wird dich wahrscheinlich in die richtige Richtung weisen.

    
JW. 15.09.2008 17:16
quelle
1

Der HTML-Code, aus dem die Ansicht besteht, muss irgendwie an den Browser gesendet werden. In .net gibt jedes Serversteuerelement ein eigenes HTML-Markup als Teil des Seitenlebenszyklus aus. Also ist es in Ordnung, HTML im serverseitigen Code zu verwenden.

Vielleicht sollten Sie versuchen, dem ASP.net-Muster zu folgen. Erstellen Sie eine Reihe von Steuerelementen, die UI-Elemente darstellen, und sorgen Sie dafür, dass sie ihr eigenes HTML basierend auf ihrem Status ausgeben.

    
Larry Foulkrod 15.09.2008 17:19
quelle
0

Es ist fugig und nicht typsicher. Aber die Leute machen es ohne Folgen. Ich würde es vorziehen, ein DOM oder zumindest Klassen zu verwenden, die HTML mit typsicherer Semantik schreiben. Außerdem ist es nicht so gut, UI mit Logik zu kombinieren ...

    
Will 15.09.2008 17:08
quelle
0

Wenn ich Methoden brauche, die HTML generieren, isoliere ich sie normalerweise in einer HtmlHelpers-Klasse. Auf diese Weise halten Sie einige Ebenen der Trennung. Das ASP.NET MVC Framework macht das ziemlich erfolgreich.

    
David Thibault 15.09.2008 17:11
quelle
0

Wenn Sie meinen, HTML in Ihrem Code auszudrucken, dann nein. Wenn Sie keinen guten Grund haben, dies nicht zu tun, sollten Sie Vorlagen

verwenden

Selbst wenn du denkst, dass du das jetzt nicht brauchst, besteht immer eine gute Chance, dass du es später brauchst. Vielleicht möchten Sie in einem anderen Format als HTML ausgeben oder Sie möchten eine andere Präsentation für die gleichen Daten. In der Regel brauchen Sie diese Dinge im weiteren Verlauf, also verwenden Sie am besten einen von Anfang an.

    
asksol 15.09.2008 17:14
quelle
0

Ich hasse es, wenn Entwickler einen Haufen HTML () drucken. Es ist völlig unnötig und sieht in jedem Texteditor, der Druck- / Echo-Strings rot anzeigt, hässlich aus.

    
dawnerd 15.09.2008 17:16
quelle
0

Ich stimme allen anderen zu, dass Sie so hart wie möglich versuchen sollten, das HTML / XHTML-Markup von der Anwendungslogik zu trennen. Manchmal müssen Sie jedoch aus verschiedenen Gründen HTML / XHTML in der Anwendungslogik generieren.

In diesen Fällen habe ich versucht, sicherzustellen, dass die minimale Menge an Präsentationscode in die Anwendungslogik gemischt ist und versuche, alles andere auf den Präsentationscode zu übertragen. Es ist nichts wert, dass Sie in einigen Fällen Situationen haben, in denen Sie alles auf die Präsentationsebene verschieben können. Es ist jedoch möglicherweise einfacher, das Markup als Teil der Anwendungslogik zu generieren. In diesen Fällen ist es wahrscheinlich am besten, die Route zu wählen, die am sinnvollsten ist.

    
rjzii 15.09.2008 17:25
quelle
0

Ich glaube nicht, dass es eine Entschuldigung dafür gibt, HTML in Ihrer Geschäftslogik zu generieren. Tun Sie es nicht einmal, wenn es nur eine "schnelle Lösung" ist oder wenn Sie "zurückgehen und es später reparieren", denn das passiert nie.

Um meine Position von anderen Fragen zu wiederholen, ist die Verwendung einiger Steuerlogik (Bedingungen, Schleifen) in HTML zur Erstellung OK. Machen Sie im HTML keine Daten massieren oder Geschäftslogik. Du musst diszipliniert sein, aber es ist es wert. Die Wartung ist viel einfacher, wenn Ihre Bedenken (wie Logik und Display) getrennt sind.

    
Lucas Oman 15.09.2008 17:29
quelle
0

Idealerweise streben Sie eine Trennung von Bedenken zwischen Ihrem Präsentationscode und Ihrem Domänencode an.

Der Grund, warum Sie vermeiden sollten, diese beiden Probleme (in beide Richtungen) zu verbinden, ist einfach ...

Sie haben nur einen Grund, einen Code zu ändern. Ob es sich um strukturelle / gestalterische Änderungen in Ihrem HTML-Design oder um die Änderung Ihrer Geschäftsregeln handelt, Sie sollten die Änderung nur an einer Stelle vornehmen müssen.

In geringerem Maße, obwohl viele Puristen nicht zustimmen würden, indem Sie HTML-Code über Ihren Domain-Code streuen oder umgekehrt, sind Sie Lärm für den nächsten Entwickler, der zum Lesen / Pflegen kommt.

    
Xian 15.09.2008 17:49
quelle
0
  1. Ich versuche zu vermeiden, Code zu verwenden, um HTML "direkt" zu drucken . Es ist schwierig zu pflegen, zu bearbeiten, Stile hinzuzufügen usw. Einige Fälle wie das Erzeugen einer HTML-E-Mail im Code, ich erstelle eine Textdatei oder HTML-Datei mit Markern wie [Name], [Verifikationscode] usw. Ich lade dies aus dem Code und ersetzen Sie diese Marker. Auf diese Weise können Sie den Stil der E-Mail bearbeiten, ohne Ihren Code neu zu kompilieren. Trennung von "Präsentation" und "Logik" ist meiner Meinung nach eine gute Praxis.
  2. Das Mischen von Code innerhalb von HTML ist in der Regel keine gute Übung aus ähnlichen Gründen wie in # 1. Allerdings verwende ich Code in HTML für Dinge wie einfache dynamische Zeichenfolgen, die auf einer Seite oder Seiten mehrmals angezeigt werden. Ich denke, das ist besser als mehrere Serversteuerelemente für die gleichen genauen Werte zu erstellen. Da dies im HTML Code nicht "logisch" gemischt ist, finde ich das ok.
Brian Kim 15.09.2008 18:19
quelle

Tags und Links