Empfohlen: „PHP-Video-Tutorial“
Gute Entwickler werden normalerweise definiert nach Codequalität. In der Softwarebranche bedeutet das Schreiben von gutem Code, Geld für das Testen, Aktualisieren, Erweitern oder Beheben von Fehlern zu sparen. In diesem Artikel zeige ich Ihnen einige Beispiele aus der Praxis und Ideen, die Ihnen dabei helfen, Ihren Logikcode zu bereinigen, ihn umzugestalten und ihn robuster und modularer zu machen. Diese Tipps helfen Ihnen nicht nur beim Refactoring Ihres alten Codes, sondern geben Ihnen auch einige gute Ratschläge, wie Sie von nun an saubereren Code schreiben können.
Was ist Refactoring und warum brauchen wir es?
Refactoring bezieht sich auf Methoden und Schritte, die uns helfen, prägnanten Code zu schreiben. Dies ist wichtig für andere Entwickler, die unseren Code ohne große Bearbeitung lesen, erweitern und wiederverwenden können.
Der folgende Inhalt zeigt Ihnen einige Beispiele für die Umgestaltung von Logikcode, um ihn zu verbessern.
Refaktorisieren Sie Produktionscode nicht ohne Unit-Tests.
Mein erster Ratschlag ist, niemals mit dem Refactoring von Logikcode zu beginnen, ohne ihn vollständig Unit-Tests zu unterziehen. Meine Argumentation ist folgende: Sie werden am Ende eine defekte Funktionalität haben, die schwer zu reparieren ist, weil es schwierig ist, genau zu bestimmen, was defekt ist. Wenn Sie es also umgestalten möchten, beginnen Sie mit Tests. Stellen Sie sicher, dass die Teile, die Sie umgestalten möchten, durch Tests abgedeckt sind. PHPUnit-Codeabdeckungsanalyse.
Beginnen Sie mit der Umgestaltung am Ende Ihres Codes
Sehen Sie sich das Bild unten an. Dies ist ein echtes Hotelmanagementsystem-Projekt, das ich auf Github gefunden habe. Dies ist ein Open-Source-Projekt, aber Closed-Source-Projekte wären schrecklich.
Beispiel: Refactoring von unten nach oben
Sehen Sie sich diesen Code an, es gibt drei rot markierte Ebenen. Die unterste Ebene sollte die von if/else umgebene Deklaration in der ersten if-Bedingung sein. Normalerweise konzentriert sich die unterste Ebene auf eine einzelne logische Verarbeitung und lässt sich einfacher umgestalten.
Machen Sie Ihre Methoden kürzer, zerlegen Sie sie in kleinere Methoden oder Konfigurationsdateien/DB-Tabellen.
Vielleicht können wir sie hier wie folgt in eine private Methode verfeinern:
Machen Sie Ihre Methode kürzer.
Die Der nächste vertiefende Punkt wird das Hochladen von Parametern und das Laden von Ansichten sein. Schauen wir uns nun die add()
-Methode an, nachdem wir andere Teile umgestaltet haben. Es wird prägnanter, leichter zu lesen und einfacher zu testen.
Beispiel: Refaktorieren Sie zuerst die
if-Anweisung der niedrigsten Ebene und bestehen Sie auf der Verwendung von geschweiften Klammern.
Die meisten Programmiersprachen unterstützen einzeilige if-Anweisungen, weil sie einfacher sind. Daher verwenden einige Entwickler sie auf diese Weise, aber Das Lesen ist umständlich und anfällig für Probleme, da eine Leerzeile den Zustand unterbrechen und einen Absturz verursachen kann. Schauen Sie sich den Unterschied zwischen den beiden Beispielen unten an:
Beispiel: Verwenden Sie geschweifte Klammern
Verwenden Sie keine magischen Zahlen oder magischen Zeichenfolgen:
Im nächsten Beispiel stellen Sie fest, dass, wenn der Raum 250 überschreitet, a Es wird eine Fehlermeldung zurückgegeben. Hier gilt 250 als magische Zahl. Wenn Sie nicht der Entwickler sind, der dies schreibt, ist es schwer herauszufinden, was diese Zahl bedeutet.
Beispiel: Magic Numbers
Um diese Methode zu überarbeiten, können wir darauf hinweisen, dass 250 die maximale Anzahl von Räumen darstellt. Um die Hardcodierung zu ersetzen, können wir sie in eine Variable extrahieren $maxAvailableRooms
. Jetzt wird es für andere Entwickler verständlicher.
Beispiel: Magische Zahlen korrigieren
Verwenden Sie keine else-Anweisung, wenn Sie sie nicht wirklich benötigen:
In derselben Funktion availablerooms() ist Ihnen die if-Anweisung aufgefallen, die wir leicht entfernen können des else-Teils, und die Logik bleibt konsistent.
Beispiel: Ignorieren Sie die else-Anweisung
Verwenden Sie Benennungen, die Ihre Methoden, Variablen und Tests ausdrücken
Im folgenden Beispiel werden Sie feststellen, dass das Hotelverwaltungssystem über zwei Methoden verfügt: „index()“ und „room_m()“. Ich persönlich kann nicht herausfinden, was ihr Zweck ist. Ich denke, es sollte leicht zu verstehen sein, wenn ihre Namen sich selbst beschreiben.
Beispiel: Schlechte Methodenbenennung
Nutzen Sie die Funktionen Ihrer Programmiersprache voll aus
Viele Entwickler nutzen nicht die volle Leistungsfähigkeit der von ihnen verwendeten Programmiersprache. Viele Funktionen können Ihnen Zeit sparen und Ihren Code robuster machen. Schauen Sie sich das folgende Beispiel an und stellen Sie fest, wie es einfacher ist, mit weniger Code dasselbe Ergebnis zu erzielen, indem Sie Typhinweise verwenden.
Abschließend möchte ich noch ein paar schnelle Tipps für besseres Codieren geben:
Originaladresse: https://medium.com/@maladdinsayed/advanced-techniques-and-ideas-for-better-coding-skills-d632e9f9675
Übersetzungsadresse: https://learnku.com/php/ t/37900
Das obige ist der detaillierte Inhalt vonEinen Blick wert! Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!