Oft habe ich gesehen, dass Funktionen wie
aufgerufen werden %Vor%Während die Funktionsdeklaration wie
ist %Vor%Warum sollte jemand eine Überladung hinzufügen, indem er eine Variable erstellt und sie nur einmal in einem Funktionsaufruf verwendet !!
Ich verstehe, dass dies den Funktionsaufruf eindeutig macht, aber sollten wir stattdessen PHPDoc-Blöcke verwenden?
Ich habe das Gefühl, dass Sie zutiefst von so viel "Verschwendung" geschockt sind.
Bleib cool, Variablen zu verwenden ist nichts Schlechtes, du solltest sie oft benutzen. Sie machen Ihren Code normalerweise beschreibender und noch schneller.
Der beschreibendere Teil ist hier der Fall, wenn Sie sich diese Zeile ansehen, sehen Sie, welcher Parameter das ist, weil er jetzt einen Namen hat.
Aber sollten wir nicht stattdessen PHPDoc-Blöcke verwenden?
Nun, eigentlich hat das nichts mit (docblock) Kommentaren zu tun. Auch in der Funktionsdefinition gibt es keinen Kommentar für das -Parameter:
%Vor%Es ist nur die Definition des Parameters durch seinen Namen. Auch der Docblock-Parameter wäre nur dann, wenn Sie die Funktion definieren:
%Vor%Allerdings heißt das nicht, wo die Funktion aufgerufen wird:
%Vor%Wenn Sie sich also diese Zeile ansehen (und bevor Sie eine beliebige Tastenkombination oder Maustaste drücken), lesen Sie das bereits. Nichts benötigt, nur der Code. Funktioniert sogar in Notepad oder einem nicht konfigurierten gedit.
%Vor%Und wenn Ihr Code Kommentare benötigt, ist das normalerweise ein Zeichen, dass es zu kompliziert ist. Auch der Name eines Parameters ist viel wichtiger als sein Docblock. Ein guter Name bedeutet normalerweise, dass Sie kein Docblock-Tag dafür benötigen (das bedeutet: weniger zu wartender Code), weil der Name für sich selbst spricht.
Auch moderne IDEs kennen den Typ des Parameters durch statische Analyse und daher brauchen Sie auch nicht das Docblock-Tag. Also nein, Sie sollten nicht immer PHPDocblocks verwenden.
Schreiben wie:
%Vor% lässt $isAdmin
auch außerhalb des Funktionsumfangs definiert werden, d. h. wenn Sie var_dump($isAdmin)
ausgeben, erhalten Sie bool(false)
.
Auf diese Weise speichern Sie eine Var-Zuweisung:
%Vor%