Heim >Backend-Entwicklung >PHP-Tutorial >10 Programmiertipps, die Sie kennen müssen
Zusammenfassung: Wie schreibe ich guten Code? Guter Code lässt sich als leicht lesbar, leicht verständlich, leicht zu debuggen, leicht zu ändern und, was am wichtigsten ist, als fehlerfrei definieren. Natürlich nimmt die Eingabe von gutem Code viel Zeit in Anspruch, aber auf lange Sicht ist dies sinnvoll, da Sie weniger Zeit und Energie für die Pflege und Wiederverwendung Ihres Codes aufwenden müssen. Dies ist eine Zusammenfassung eines erfahrenen Programmierers mit 30 Jahren Softwareerfahrung.
Guter Code kann als leicht zu lesen, zu verstehen, zu debuggen, zu ändern und, was am wichtigsten ist, als weniger Fehler aufweisend definiert werden. Natürlich nimmt die Eingabe von gutem Code viel Zeit in Anspruch, aber auf lange Sicht ist dies sinnvoll, da Sie weniger Zeit und Energie für die Pflege und Wiederverwendung Ihres Codes aufwenden müssen.
Tatsächlich können wir guten Code mit wiederverwendbarem Code gleichsetzen, was auch eines der unten genannten wichtigen Prinzipien ist. Der Code erfüllt möglicherweise nur eine bestimmte Funktion für ein kurzfristiges Ziel in der Programmierarbeit, aber wenn niemand (einschließlich Ihnen selbst) bereit ist, Ihren Code wiederzuverwenden, kann man sagen, dass der Code unzureichend und in irgendeiner Weise fehlerhaft ist. Entweder ist es zu komplex oder zu spezifisch, es ist sehr wahrscheinlich, dass es unter anderen Umständen kaputt geht, oder andere Programmierer vertrauen Ihrem Code möglicherweise nicht.
Unabhängig von Ihrem Erfahrungsstand: Wenn Sie die folgenden Tipps konsequent auf Ihren Code (einschließlich Ihrer Experimente oder Prototypen) anwenden, haben Sie guten Code zur Hand.
Funktion ist die wichtigste abstrakte Form in der Programmierbibliothek. Je mehr Möglichkeiten zur Wiederverwendung es gibt, desto weniger Code muss geschrieben werden und desto zuverlässiger ist dieser Code. Kleinere Funktionen, die dem Prinzip der Einzelverantwortung folgen, werden eher wiederverwendet.
Der implizite gemeinsam genutzte Zustand zwischen Funktionen sollte minimiert werden, unabhängig davon, ob es sich um eine Dateibereichsvariable oder ein Mitgliedsfeld eines Objekts handelt, was der expliziten Übergabe des Gewünschten förderlich ist Wert als Parameter. Wenn klar ist, dass eine Funktion das gewünschte Ergebnis erzielt, ist der Code leichter zu verstehen und wiederzuverwenden.
Eine Schlussfolgerung daraus lässt sich ziehen: Sie sollten statische zustandslose Variablen gegenüber Mitgliedsvariablen von Objekten bevorzugen.
Ideale Nebeneffekte (z. B. Drucken auf der Konsole, Protokollierung, Änderung des globalen Status, Dateisystemvorgänge usw.) sollten in separaten Modulen platziert und nicht verstreut sein im gesamten Code. Funktionelle Nebenwirkungen verstoßen häufig gegen das Prinzip der Einzelverantwortung.
Wenn der Status eines Objekts einmal in seinem Konstruktor festgelegt wird und sich nicht mehr ändert, wird das Debuggen viel einfacher, da es nach der korrekten Konstruktion einfach gültig bleibt. Dies ist eine der einfachsten Möglichkeiten, die Komplexität Ihres Softwareprojekts zu reduzieren.
Funktionen, die Schnittstellen (oder Vorlagenparameter oder Konzepte in C++) akzeptieren, sind wiederverwendbar als Funktionen, die mit Klassen arbeiten.
Zerlegen Sie Softwareprojekte in kleinere Module (z. B. Bibliotheken und Anwendungen), um eine modulare Wiederverwendung zu erreichen. Einige Schlüsselprinzipien von Modulen sind:
Abhängigkeiten minimieren
Jedes Projekt sollte eine einzige, klar definierte Funktionalität haben
Nicht wiederholen
Sie sollten sich bemühen, Ihre Projekte klein und übersichtlich zu halten.
In der objektorientierten Programmierung ist Vererbung, insbesondere virtuelle Funktionen, oft eine Achillesferse in Bezug auf die Wiederverwendbarkeit. Ich hatte selten Erfolg mit Bibliotheken, die Klassen überschreiben.
Ich bin kein großer Fan der testgetriebenen Entwicklung, aber wenn man anfängt, Testcode zu schreiben, gibt es natürlich viele Richtlinien Befolgen Sie beim Schreiben von Tests. Es hilft auch, Fehler frühzeitig aufzudecken. Vermeiden Sie das Schreiben nutzloser Tests. Eine gute Codierung bedeutet, dass fortgeschrittenere Tests (z. B. Integrationstests oder Funktionstests in Komponententests) Fehler effektiver aufdecken.
Ich kann Ihnen nicht sagen, wie lange es dauern wird, bis Sie eine bessere Version von std::vector oder std::string sehen. Aber es ist fast immer Zeit- und Energieverschwendung. Abgesehen von der offensichtlichen Tatsache, dass Sie Fehler an einem neuen Ort einführen. (Siehe Tipp 10) Es ist weniger wahrscheinlich, dass andere Programmierer Ihren Code wiederverwenden als Code, der allgemein verstanden, unterstützt und getestet wird.
Der wichtigste Punkt ist, dass jeder Programmierer Folgendes befolgen sollte: „Der beste Code ist der Code, der nicht geschrieben wird“ (Der Der beste Code ist Code, der niemals kopiert werden muss. Je mehr Code Sie haben, desto mehr Fehler treten auf und desto schwieriger wird es, Fehler zu finden und zu beheben.
Bevor Sie eine Codezeile schreiben, fragen Sie sich: Gibt es ein Tool, eine Funktion oder eine Bibliothek, die bereits das tut, was Sie brauchen? Müssen Sie diese Funktion wirklich selbst implementieren, anstatt eine andere bereits vorhandene Funktion aufzurufen?
Zusammenfassung
Programmieren ist wie eine Kunstform oder ein Sport. Nur durch kontinuierliches Üben und kontinuierliches Lernen von anderen können Sie die Qualität Ihres Codes kontinuierlich verbessern, was Ihnen hilft, effizienter zu programmieren.
Das obige ist der detaillierte Inhalt von10 Programmiertipps, die Sie kennen müssen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!