Heim > Backend-Entwicklung > PHP-Tutorial > Einen Blick wert! Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

Einen Blick wert! Notwendige Programmierkenntnisse und Denkfähigkeiten für erfahrene PHP-Ingenieure

藏色散人
Freigeben: 2023-04-09 14:16:02
nach vorne
3463 Leute haben es durchsucht

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:

  • Verwenden Sie die neue Array-Form [ ] anstelle des alten array().
  • Verwenden Sie den ===-Operator anstelle von ==, es sei denn, es ist wichtig, den Datentyp nicht zu überprüfen.
  • 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 generische Namen wie add() nur für Methoden, die die Schnittstelle implementieren, und beschreibende Namen wie addUser() oder addDocument() für einzelne Klassenmethoden.
  • Entfernen Sie nicht verwendete Methoden aus Klassen.
  • Verwenden Sie das Präfix is/has für Funktionen, deren Rückgabewert boolesch usw. ist: isAdmin($user), hasPermission($user).
  • Verwenden Sie immer Zugriffsmodifikatoren in Klassenmethoden und -eigenschaften.
  • Seien Sie vorsichtig bei der Schnittstellenverschmutzung: Verwenden Sie nur Methoden, die den Benutzern öffentlich zugänglich sind.
  • Organisieren Sie Klassenmethoden, bei denen öffentliche Methoden ganz oben stehen.
  • Wenden Sie immer das Konzept der Einzelverantwortung innerhalb einer Klasse an.

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!

Verwandte Etiketten:
php
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage