Heim >Backend-Entwicklung >PHP-Tutorial >18 kritische Versehen in der Webentwicklung
In den letzten Jahren hatte ich die Gelegenheit, an einigen interessanten Projekten zu arbeiten, komplexer Natur mit einer fortlaufenden Entwicklung, die ständig aktualisiert, neu aufgestellt und neue Funktionen hinzufügt.
Dieser Artikel wird die größten Codierungsversuche abdecken, die die meisten PHP -Entwickler im Umgang mit mittleren und großen Projekten erstellen. Überwachungen wie nicht unterscheiden zwischen Entwicklungsumgebungen oder nicht implementieren von Caching und Backup.
Die folgenden Beispiele sind in PHP, aber die Idee hinter jedem Problem ist generisch.
Die Wurzel dieser Probleme liegt hauptsächlich im Wissen und der Erfahrung der Entwickler, insbesondere im Mangel daran. Ich versuche nicht, jemanden zu verprügeln, ich betrachte mich nicht als perfekter Entwickler, der alles weiß, also tragen Sie es mit mir.
Nach meiner Erfahrung konnten wir diese Probleme in drei Hauptgruppen kategorisieren: Entwurfsebene, Anwendungsebene und Datenbankebene. Wir werden jeden einzelnen separat zerlegen.
Die einzige Frage, die ich stellen kann, ist: Warum? Warum machen Sie die Fehlerberichterstattung bei der Entwicklung einer Anwendung nicht aus?
PHP hat viele Fehlerberichterstattung, und alles sollte in der Entwicklungsphase eingeschaltet werden.
Wenn Sie der Meinung sind, dass Fehler niemals auftreten werden, kodieren Sie für das ideale Szenario, das nur in einer idealen Welt auftritt.
Fehlerberichterstattung und Anzeige dieser Fehler sind auch nicht gleich. ERROR_REPORTING () legt die Fehlerstufe (z. B. Beachten, Warnungen, tödliche Fehler) und display_errors steuert, ob diese Fehler ausgegeben werden oder nicht.
Fehlerberichterstattung sollte immer die höchste Einstellung in der Entwicklung haben: ERROR_REPORTING (E_ALL); und ini_set ('display_errors', true);
Hinweis: E_ALL ist der höchste seit PHP 5.4, da E_strict -Fehler in PHP 5.4 Teil von E_all wurden. Wenn Sie eine ältere PHP -Version als 5.4 verwenden, verwenden Sie ERROR_REPORTING (e_all | e_strict); Auch strenge Fehlerwarnungen einzubeziehen.
Unterdrückung von Fehlern unter Verwendung des @ -Operators ist noch schlechter als überhaupt nicht einzuschalten, da Sie den Schmutz unter dem Teppich bewusst fegen. Sie wissen, dass der Fehler stattfindet, Sie möchten ihn nur verbergen, die Aufgabe schließen und früh nach Hause gehen. Was Sie nicht erkennen, ist, dass es später viel größere Konsequenzen haben wird.
Sie können hier eine eingehende Erklärung dazu lesen.nirgendwo im Code
Die meisten Entwickler verwenden die Protokollierung auf die eine oder andere Weise, aber fast keiner von ihnen nimmt sich die Zeit, diese Protokolle tatsächlich auf Fehler zu überprüfen. Was ist der Grund für die Protokollierung, wenn niemand die Protokolle ansieht?
PSR-Empfehlungen für die Protokollierung, PSR-3, um genau zu sein, und in diesem ausgezeichneten Artikel wird erläutert, wie die PSR-3-Protokollierung implementiert wird.
Implementieren von Caching
Auch
Caching sollte von Anfang an implementiert werden. Sie können es immer in der Entwicklung deaktivieren, aber stellen Sie sicher, dass alles funktioniert, sobald es in eine Produktionsumgebung gedrängt wird.Auf einer Serverebene können Sie Lack verwenden, der ein umgekehrter HTTP -Proxy ist. Es wird Dateien im Speicher gespeichert und sollte vor dem Webserver installiert werden.
Um PHP zu beschleunigen, können Sie einen Opcode -Cache installieren/aktivieren, der die Kompilierung in Byte -Code von PHP -Skripten optimiert. Für PHP 5.5 und später wird ein Opcode -Cache bereits im Kern als Opcache kompiliert.
Sie können in diesem Artikel ausführlich darüber lesen: SitePoint PHP-Unestging Opcache.
Vor PHP 5.5 können Sie APC verwenden, das auch Benutzer -Cache -Funktionalität hat.
Auf einer Anwendungsebene können Sie APCU verwenden, der von APC extrahierte Benutzer -Cache, ein weiterer Cache, der eine ähnliche Funktionalität wie APCU hat, oder Memcached, ein verteiltes Caching -System und es hat eine solide PHP -Unterstützung. Memcached kann auch verwendet werden, um Datenbankabfragen zu unterbrechen.
Es gibt einige Techniken bei der Implementierung von Caching in einer Anwendung. Eine gute Praxis ist es, Daten zu untersuchen, die sich nicht sehr oft ändern, aber wiederholt abgefragt werden.
Cache -Datenbankabfragen stark, da die Datenbank immer der größte Engpass in jeder PHP -Anwendung ist.
ignorieren Best Practices und Designmuster
Wie oft haben Sie jemanden gesehen, der seinen eigenen Passwortverschlüsselungsalgorithmus implementiert? Leider geschieht dies heute noch, weil der Mangel an Wissen oder gefährlicher wegen einer „Ich kenne es besser“.
Nun, ich hasse es, Ihnen die schlechten Nachrichten zu bringen, aber 99% der Zeit, die Sie nicht besser wissen.
Diese Best Practices und Design -Muster wurden von Software Engineers, die intelligenter als Sie und mich sind, aus einem bestimmten Grund gedacht und erstellt. Die alleinige Aufgabe des Entwicklers besteht darin, das richtige Muster für den Job auszuwählen.
Es gibt viele Bücher und Ressourcen zu diesem Thema. Ich werde zwei erwähnen:
Tests sollten für jede Funktion der Webanwendung hinzugefügt werden, aber Tests sind für nichts gut, genau wie Protokolle, wenn niemand sie ansieht und den Testcode tatsächlich ausführt, um zu sehen, ob etwas bricht.
manuelles Ausführen von Tests ist ein lästiger Prozess. Glücklicherweise gibt es „ein App Tool dafür“. Tatsächlich gibt es viele Tools, die dazu beitragen können, Ihre Tests zu automatisieren, eine ganze Praxis, die als kontinuierliche Integration bezeichnet wird.
Ein solches Tool, das in der PHP -Community häufig verwendet wird, heißt Jenkins, ein CI -Server und kann viel mehr als nur eine Anwendung testen. Sebastian Bergmann hat eine hervorragende Vorlage für Jenkins geschaffen, die speziell für die Arbeit mit PHP -Projekten konstruiert wurden.
Wenn Sie dies zu überwältigend finden, schreiben Sie zumindest Unit -Tests für Ihre Anwendung mit Phpunit, Behat oder PHPSPEC. Es mag anfangs viel Arbeit erscheinen, aber es ist unzählige Male, dass Tests auf lange Sicht Projekte helfen.
in einem Team arbeiten kann eine Herausforderung sein, insbesondere wenn jedes Teammitglied an verschiedene Programme gewöhnt ist und ohne gute Spezifikation ein Projekt sehr schnell von Seitwärts gehen kann.
Wenn Sie sich in einem Team befinden und den Code des anderen nicht inspizieren, sollten Sie es wirklich tun. Genau wie Unit -Tests hilft es einem Projekt, sauber und konsistent zu bleiben.
Der Unterschied zwischen Überprüfung und Audit ist die Zeit, in der Sie den Code inspizieren. Die Überprüfung kommt normalerweise vor, bevor ein Code mit der Codebasis und der Prüfung nach dem Einfügen des Codes zusammengefasst wird.
Bewertung ist eine viel bessere Sache, da Sie die Möglichkeit haben, über den Code zu sprechen, Verbesserungen oder Korrekturen vorzuschlagen, bevor er mit dem Code der anderen Teammitglieder zusammengeführt wird.
Der Nachteil von Bewertungen ist, dass es die Entwicklung blockiert, denn vor jeder Zusammenführung (schließlich sind alle Tests grün) müssen mindestens zwei Entwickler den Code besprechen, und hier kommt das Audit ins Spiel.
Audit kommt nach dem Zusammenführen von Post und es ist nicht blockierend, aber es ist deutlich weniger mächtig, da es die Gelegenheit verpasst, schon früh Bugs zu fangen.
Audit ist immer noch besser als den Code überhaupt nicht zu inspizieren.
Um diesen Prozess so reibungslos wie möglich zu machen, können Sie das Tool namens Phabricator verwenden, das speziell für diesen Zweck von den guten Ingenieuren von Facebook erstellt wurde. Es unterstützt beide Code -Inspektionsstrategien.
Finden Sie sich jemals in Fällen oder gehört von Fällen, in denen ein unbedeutender Boilerplate -Code zusammengeführt wurde und die Hölle losbrach? Ich habe es sicher getan.
Dies ist die meiste Zeit, da Entwickler faul sind und Code für das ideale Szenario schreiben, in dem die Datenbank fehlschlägt, PHP-fatale Fehler und Serverhacking nicht existieren.
Code sollte mit dem genau entgegengesetzten Szenario geschrieben werden, Entwickler sollten Code für das schlechteste Szenario schreiben, an das sie sich vorstellen können, und selbst dann wird der Code einen obskuren Eckfall abdecken, in dem der Benutzer in einem $ tippt Zeichen und hat sofortigen vollständigen Administratorzugriff.
unter der Annahme, dass Ihr Server nicht gehackt wird oder Ihr Code irgendwann nicht brechen wird und Ihre Datenbank immer in Betrieb ist, ist einfach falsch. Der Produktionscode sollte diese Szenarien abdecken und Fehler entsprechend protokollieren.
In PHP ist es so einfach, Fehler zu begehen, ohne es zu merken. Dies liegt hauptsächlich an schlechten Entscheidungen für Sprachentwurf, die in der Vergangenheit getroffen und nicht rechtzeitig korrigiert wurden.
PHP möchte es den Entwicklern erleichtern, nicht über Sicherheit, Codierungen und Eckfälle nachzudenken, in denen Entwickler dies tatsächlich sehr bewusst sein sollten und immer defensive Programme üben.
Die meisten PHP -Entwickler, die neu in PHP sind, verwenden keine objektorientierte Programmierung in ihrem Code, da das Konzept zunächst etwas schwer zu verstehen ist. OOP wurde erstmals in den 1960er Jahren verwendet und im Laufe der Jahre ständig verfeinert. Es gibt eine Menge Informationen darüber im Web.
OOP ist auch viel mehr als nur in Klassen organisierte Verfahrenscode.
Das Konzept von Objekten, Eigenschaften, Methoden, Vererbung, Kapselung usw. ist ein integraler Bestandteil von OOP.
Ein Entwickler, der diese Prinzipien verwendet Ich habe keine hart codierten Abhängigkeiten und ist leicht zu erweitern und aufzubauen.
Alejandro Gervasio deckt diese Prinzipien von oben nach unten ab.
Es ist nie zu spät, über OOP zu erfahren und sauberen Code zu schreiben, der nicht auf harten Abhängigkeiten beruht (ansehen Sie Sie, PHP -Frameworks).
Was die meisten Entwickler tun, wenn sie bei „Schnell, der Kunde benötigt diese Funktion so schnell wie möglich. der Live -Server. Dies wird auf der Fliege Codierung oder Cowboy-Codierung bezeichnet. Wie in jeder anderen Branche sollten auch Workflows und gesunde Prozesse in der Softwareentwicklung implementiert werden, damit ein Projekt erfolgreich ist. PHP und dynamische Sprachen im Allgemeinen fördern schnelle Änderungen an der Codebasis und sehen die Ergebnisse der Modifikation sofort, aber diese Änderungen sollten in einer Produktionsumgebung begrenzt sein. Es sollten nur kritische Fehler festgelegt und direkt auf den Produktionsserver weitergegeben werden. Für den Rest sollte ein Workflow implementiert werden, wie z. B. Githubs Gabel und Pull -Anfrage oder Gitflow. Weitere Informationen zu Gits mit Git finden Sie hier: https://www.atlassian.com/git/workflows. Manager und Kunden, die der Meinung sind, dass diese Prozesse unnötig sind, sollten für etwas anderes ausgebildet werden. Ich habe noch nie einen Kunden getroffen, der nicht ein paar Stunden oder einen Tag kaum erwarten konnte, um die erforderlichen Schritte durchzuführen, um live eingesetzt zu werden. Eine andere Sache, die Sie beachten sollten: Verwechseln Sie die kontinuierliche Lieferung nicht mit Cowboy -Codierung und chaotischem Management. Bei der kontinualen Lieferung geht es genau um die Implementierung und Optimierung des Entwicklungsworkflows, damit Code so schnell wie möglich in der Produktionsumgebung eingesetzt werden kann. Um ein langjähriges komplexes Projekt zu unterstützen, muss sich Skalierung im Hinterkopf jedes Entwicklers befinden. 99% der Zeit, in der eine Webanwendung nicht skalieren muss, da sie diesen Datenverkehr nicht erreicht. Wenn Sie sicher wissen, dass die Webanwendung von vielen verwendet wird, z.
Stellen Sie sicher, dass Sie eine Datenbankbibliothek verwenden, mit der Sie eine Verbindung zu mehreren Datenbankservern herstellen können. Es ist einfach, zwischen ihnen zu wechseln. Eine gute Lösung besteht darin, PDO zu implementieren und Aura.sql zu verwenden, das PDO erweitert. Diese Aufsicht bezieht sich auf die obige Aufsicht „Codierung für das ideale Szenario“. Gleiches Ding, andere Plattform. Wenn Sie Ihre Datenbank (und Ihre Anwendung) nicht auf Exploits testen, wird ein Hacker, und er kann erfolgreich sein. Datenbanken sind anfällig für eine ganze Reihe von Exploits. Am häufigsten sind SQL -Injektionsangriffe. Verwenden Sie dieses Cheat -Blatt und führen Sie die Abfragen über die Datenbankzugriffsbibliothek Ihrer Anwendung aus. Schreiben Sie diese Aussagen in Feldern auf Ihrem Front-End wie Benutzername, Kennwortfelder auf einer Anmeldeseite. Wenn keine der Fragen durchläuft, können Sie sich ein Bier kaufen und feiern. Indexe sind wie der TOC einer Tabelle, es handelt sich um einen Leistungsschub und sollte zu jeder Tabelle zu den Spalten hinzugefügt werden, auf denen die Abfrage ausgeführt wird (z. B. die Spalten nach der Wherdy -Klausel).
Tabelle 1 erfolgreich ist, jedoch in Tabelle 2 fehlschlägt, bleibt die Profildaten für den Benutzer in der Datenbank und schlimmer, es wird nicht angeschlossen werden Alles, es wird verwaist.
PHP 5.5 hat bereits starke Hashing -Funktionen hinzugefügt, nur um es Passwort zu nennen. Es ist wirklich einfach zu verwenden - Sie erstellen mit dieser Methode einen Hash aus dem Klartextkennwort: Hinweis: Es ist nicht erforderlich, dieses Passwort zu salzen, da es bereits für Sie behandelt wird. $ Hash in der Datenbank speichern, dann überprüfen Sie den Hash mit dieser Methode: Hinweis: Wenn Sie keinen PHP 5.5 haben (Sie sollten inzwischen wirklich), können Sie die CODTWORD_COMPAT -Bibliothek verwenden, die genau die gleichen Methoden implementiert. Die Bearbeitung von Finanzdaten ist viel schwieriger, da Sie PCI -Einhaltung auf Server-, Anwendungs- und Datenbankebene haben müssen. Ein detaillierterer Artikel ist bereits hier zu diesem Thema geschrieben: SitePoint PHP-PCI-Konformität und der PHP-Entwickler. Ich habe viele Entwickler und sogar kleine Teams gesehen, die schlechte Entwicklungsumgebungen für sich selbst eingerichtet haben. Arbeiten Sie beispielsweise an einer neuen Funktion oder Behebung eines Fehlers und FTING der Dateien direkt auf der Live -Website. Das ist auf so vielen Ebenen falsch. Es gibt eine unendliche Anzahl von Workflows, die Teams erstellen können, aber die klassische für die Webentwicklung besteht darin, mindestens drei Umgebungen zu verwenden: Entwicklung, Inszenierung und Produktion. Eine Entwicklungsumgebung kann für jeden Programmierer lokal sein. Inszenierung und Produktion sind normalerweise fern und teilen einige Teile zwischen ihnen. Die Entwicklung dient zur Codierung, Staging dient zum Testen und schließlich für die Produktion dient zum Verbrauch. Die Aufsicht erfolgt, wenn diese Umgebungen nicht auf die gleiche Weise eingerichtet sind. Zum Beispiel unterscheidet sich jeder Entwickler, der eine andere Version von PHP oder die Staging -Konfiguration ausführt, von der Produktion. Ratet mal, was passiert? Sie haben Recht. Alles wird in der Entwicklung und sogar in der Inszenierung funktionieren, und wenn Sie es auf den Produktionsserver schieben, bricht die Hölle los, was zu langen Nächten und viel Koffein führt. Kein Wunder, dass die häufigste Phrase in Entwicklungskreisen: „Es funktioniert für mich.“ Also, was ist die Lösung? Stellen Sie sicher, dass in jeder Umgebung alles auf die gleiche Weise eingerichtet ist. Das Betriebssystem sollte gleich sein, PHP, Datenbank, Webserver, alle sollten die gleiche Version in den Umgebungen haben. Seit der Erstellung von Vagrant, Docker und VirtualBox ist es jetzt sehr einfach, identische Umgebungen mit der gleichen genauen Konfiguration auf jedem einzelnen zu erstellen. Wenn Sie diese Tools zuvor noch nicht verwendet haben, sollten Sie anhielten, was Sie tun, und sie sofort verwenden. Alles läuft gut, die Website ist live, wird pünktlich gestartet, alles ist in Betrieb, Benutzer verbrauchen die schönen Daten. Nom, nom, nom ... bis du um 3 Uhr morgens eine E-Mail erhalten hast. Backup, genau wie Protokollierung, Zwischenspeicherung, Sicherheit und defensive Programmierung sollte bei der Entwicklung einer Webanwendung ein wesentlicher Bestandteil sein, aber die meisten Entwickler (oder Sysadmins) vergessen dies. Backups sollten ebenfalls automatisiert werden, oder wenn dies nicht möglich ist, sollte mindestens eine wöchentliche manuelle Sicherung erledigen. Jede Sicherung ist besser als keine Sicherung. Speichern Sie Ihre Codebasis in der Versionskontrolle und verwenden Sie ein verteiltes Versionskontrollsystem wie Git oder Mercurial. Dieses Setup stellt Code -Stützpunkte sehr überflüssig, da jeder Entwickler, der an dem Projekt arbeitet, über eine Version der Codebasis verfügt. Speichern Sie die Codebasis auch auf Github oder Bitbucket, sie haben Backups. Sichern der Datenbank ist wichtiger, da im Benutzer erstellte Inhalte erstellt werden. Speichern Sie immer die tatsächlichen Daten und die Sicherung an verschiedenen Stellen. Nicht -Sicherung von Daten können Unternehmen ruinieren, und das wird dies tun - siehe den berühmten Fall von Ma.Gnolia, einer der besseren sozialen Lesezeichenwebsites. Wired hat eine Titelgeschichte zur gesamten Katastrophe. "Alles ist erstaunlich und niemand ist glücklich." - Louis C.K. Sie sind nicht glücklich, weil Sie nicht wissen, was los ist. Die Implementierung eines intelligenten Überwachungsrahmens für Ihre Anwendung ist sehr wichtig. Überwachung beantwortet die folgenden Fragen: Es ist wichtig, die Antworten auf diese Fragen zu einem bestimmten Zeitpunkt zu kennen, und mit Echtzeitüberwachung werden Sie. Um dies zu erreichen, sollten Tools wie Nagios oder New Relic Teil der Infrastruktur Ihrer Anwendung sein. Verwenden Sie dieses Wissen, um ein besserer Programmierer zu sein. Denken Sie an diese Aufsicht und versuchen Sie, sie nicht zu begehen. Die Beobachtungen der Anwendungs- und Datenbankebene sind die wichtigsten, an die man sich erinnern kann. Backup ist sehr wichtig, üben Sie immer defensive Programme und seien Sie auf das Schlimmste vorbereitet. So funktioniert die Webentwicklung. Die Programmierung ist schwierig, aber wenn richtig gemacht, viel Spaß. unten finden Sie eine Checkliste aller in diesem Artikel gefundenen Versehen. Sehen Sie, wie viele Sie jetzt abkreuzen können und immer versuchen, sie alle abzukreuzen. Wie kann ich eine moderne Webentwicklungsumgebung einrichten? Die Entwicklungsumgebung umfasst mehrere Schritte. Zunächst müssen Sie einen guten Texteditor wie Visual Studio Code oder Sublime Text installieren. Installieren Sie als nächstes Node.js und NPM, die für die moderne JavaScript -Entwicklung wesentlich sind. Sie sollten auch ein Versionskontrollsystem wie Git einrichten. Erwägen Sie schließlich, einen Paketmanager wie Garn oder NPM und einen Taskläufer wie Gulp oder Webpack zu verwenden. Datenbankebene Versehen
Unterscheidung zwischen Lese- / Schreibabfragen
nicht unterscheidet
Dies bezieht sich stark auf die oben genannte Aufsicht, aber manchmal können Entwickler andere Gründe haben, um eine Verbindung zu mehreren Datenbanken herzustellen. Wenn Sie beispielsweise Benutzerprotokolle, Aktivitätsströme, Analysen oder andere Daten aufbewahren, in denen Sie wissen, dass die Lese-/Schreibvorgänge häufig erfolgen, ist es gut, diesen Datenverkehr auf einen anderen Datenbankserver zu laden.
Testen Sie keine Abfragen für Exploits
Hinzufügen von Tabellen
keine Indizes hinzufügen
nicht
Datenintegrität ist für Webanwendungen sehr wichtig. Ganze Websites können brechen, wenn die Daten falsch behandelt werden.
$hash = password_hash( $password, PASSWORD_BCRYPT );
if ( password_verify( $password, $hash ) ) { ... }
Beaufsichtigung des Anwendungsdesigns
nicht zwischen Entwicklungsumgebungen
unterscheiden
Keine Sicherung
Keine Überwachung
Schlussfolgerung
Checkliste
häufig gestellte Fragen (FAQs) zu Versehen von Webentwicklung
Was sind einige häufige Versehen in der Webentwicklung? Einige häufige Aufsichtsunternehmen sind nicht optimiert, mobile Geräte zu optimieren, die SEO zu vernachlässigen, die Geschwindigkeit und Leistung der Website zu ignorieren, keine ordnungsgemäße Entwicklungsumgebung einzurichten und die Kompatibilität des Cross-Browsers nicht zu berücksichtigen. Diese Aufsicht können zu einer schlechten Benutzererfahrung führen und die Leistung und das Ranking der Website in Suchmaschinen negativ beeinflussen.
Was ist die Bedeutung der mobilen Optimierung in der Webentwicklung? Entwicklung als immer mehr Benutzer zugreifen von ihren mobilen Geräten auf Websites. Eine Website, die für Mobilgeräte nicht optimiert ist, kann zu einer schlechten Benutzererfahrung führen, die zu geringeren Engagement- und Conversion -Raten führen kann. Die mobile Optimierung besteht darin, die Website so zu entwerfen, dass sie reagiert, was bedeutet, dass sie sich an verschiedene Bildschirmgrößen anpasst und sicherstellt, dass sie schnell auf mobilen Geräten geladen wird.
Wie kann ich die SEO meiner Website verbessern? Stellen Sie zunächst sicher, dass Ihre Website von Suchmaschinen leicht krabbelbar ist. Dies beinhaltet die Verwendung geeignete HTML -Tags, das Erstellen einer Sitemap und die Verwendung von Robots.txt -Dateien. Optimieren Sie Ihren Inhalt als Nächstes, indem Sie relevante Schlüsselwörter verwenden, hochwertige Inhalte erstellen und Meta-Tags verwenden. Erwägen Sie auch, das Schema -Markup zu verwenden, um Suchmaschinen mehr Informationen bereitzustellen. Eine langsam laden-Website kann die Benutzer frustrieren und zu höheren Absprungraten führen. Darüber hinaus betrachten Suchmaschinen wie Google die Geschwindigkeit der Website als Rangfaktor. Sie können die Geschwindigkeit und Leistung Ihrer Website verbessern, indem Sie Bilder optimieren, CSS- und JavaScript-Dateien minifizieren und ein Inhaltsdeliefernetzwerk (CDN) verwenden. 🎜> Cross-Browser-Kompatibilität bedeutet, dass Ihre Website korrekt funktioniert und in verschiedenen Webbrowsern konsistent aussieht. Es ist wichtig, weil Ihre Benutzer möglicherweise verschiedene Browser verwenden und eine Website, die in einem bestimmten Browser nicht korrekt funktioniert, zu einer schlechten Benutzererfahrung führen kann. Sie können die Kompatibilität für die Cross-Browser-Kompatibilität durch Nutzung von Standards-konformen Code und Testen Ihrer Website auf verschiedenen Browsern sicherstellen. und Tests. Stellen Sie sicher, dass Sie Ihre Website für Mobilgeräte und SEO optimieren, eine ordnungsgemäße Entwicklungsumgebung einrichten und die Kompatibilität des Cross-Browsers in Betracht ziehen. Testen Sie Ihre Website regelmäßig auf verschiedenen Geräten und Browsern und verwenden Sie Tools wie Google Lighthouse, um die Leistung Ihrer Website und die SEO zu überprüfen. Mit dem Versionskontrollsystem wie Git können Sie Änderungen an Ihrem Code verfolgen, wodurch die Zusammenarbeit mit anderen vereinfacht und bei Bedarf zu früheren Versionen Ihres Codes zurückgekehrt wird. Es ist ein wesentliches Tool für die moderne Webentwicklung. , die wiederverwendbare Codestücke sind. In der Webentwicklung ist es wichtig, dass es einfacher wird, Abhängigkeiten zu verwalten, und stellt sicher, dass Ihr Projekt über die richtigen Versionen der erforderlichen Pakete verfügt.
Ein Taskläufer wie Gulp oder Webpack automatisiert sich wiederholende Aufgaben wie Minifikation, Zusammenstellung, Einheitentests und Linie. Es ist wichtig in der Webentwicklung, da es Ihnen Zeit sparen und Ihnen helfen kann, eine konsistente Codebasis beizubehalten.
Das obige ist der detaillierte Inhalt von18 kritische Versehen in der Webentwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!