Heim  >  Artikel  >  Backend-Entwicklung  >  Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

藏色散人
藏色散人nach vorne
2019-12-12 16:06:412744Durchsuche

Gute Entwickler werden oft durch die Qualität des Codes definiert. 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 der Umgestaltung 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. Analyse der PHPUnit-Codeabdeckung.

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.

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

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 es hier wie folgt verfeinern. Eine private Methode:

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Machen Sie Ihre Methode kürzer

Der nächste ausführliche Punkt ist das Hochladen von Parametern und das Laden von Ansichten. Schauen wir uns nun die Methode add() an, nachdem andere Teile umgestaltet wurden. Es wird prägnanter, leichter zu lesen und einfacher zu testen.

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Beispiel: Refactoring der niedrigsten Ebene zuerst

if-Anweisung Halten Sie sich an geschweifte Klammern

Die meisten Programmiersprachen Alle Da dies einfacher ist, verwenden einige Entwickler es. Es ist jedoch nicht einfach zu lesen und kann leicht zu Problemen führen, da eine Leerzeile die Bedingung unterbrechen und einen Absturz verursachen kann. Schauen Sie sich den Unterschied zwischen den folgenden beiden Beispielen an:

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Beispiel: Verwenden Sie geschweifte Klammern

Verwenden Sie keine magischen Zahlen oder magischen Zeichenfolgen:

Im nächsten Beispiel stellen Sie fest, dass eine Fehlermeldung zurückgegeben wird, wenn der Raum 250 überschreitet. Hier gilt 250 als magische Zahl. Wenn Sie nicht der Entwickler sind, der dies schreibt, ist es schwer herauszufinden, was diese Zahl bedeutet.

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Beispiel: Magische Zahlen

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 $maxAvailableRooms extrahieren. Jetzt wird es für andere Entwickler verständlicher.

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Beispiel: Magische Zahlen korrigieren

Verwenden Sie keine else-Anweisungen, wenn Sie dies nicht wirklich benötigen:

In derselben Funktion „availablerooms()“ bemerken Sie die if-Anweisung, bei der wir den else-Teil leicht entfernen können und die Logik konsistent bleibt.

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Beispiel: Else-Anweisung ignorieren

Verwenden Sie Benennungen, die Ihre Methoden, Variablen und Tests darstellen

Im 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.

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Beispiel: Falsche 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.

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Abschließend möchte ich noch ein paar schnelle Tipps für besseres Codieren geben:

● Verwenden Sie die neue Array-Form [], um das alte Array () zu ersetzen.

● Sofern es nicht wichtig ist, den Datentyp nicht zu überprüfen, verwenden Sie den Operator === anstelle von ==.

● Es ist immer eine gute Idee, öffentlichen Methoden kurze, aussagekräftige Namen zu geben. Private Methoden können längere Namen verwenden, da ihr Umfang eingeschränkter ist.

● Verwenden Sie nur generische Namen wie add() für Methoden, die die Schnittstelle implementieren, und beschreibende Namen wie addUser() oder addDocument() für einzelne Klassenmethoden.

● Entfernen Sie nicht verwendete Methoden aus der Klasse.

● Verwenden Sie das Präfix is/has für Funktionen, die Werte wie boolesche Werte zurückgeben: isAdmin ($user), hasPermission ($user).

● Verwenden Sie immer Zugriffsmodifikatoren für Klassenmethoden und -eigenschaften.

● Achten Sie auf Schnittstellenverschmutzung: Verwenden Sie nur Methoden, die für Benutzer öffentlich verfügbar sind.

● Organisieren Sie Klassenmethoden mit öffentlichen Methoden oben.

● Wenden Sie innerhalb einer Klasse immer das Konzept der Einzelverantwortung an.

Das obige ist der detaillierte Inhalt vonNotwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen