Dies ist eine subjektive Frage, ich brauche Ihre Gefühle und Gedanken über Kodierungsstandards und Formatierungspraktiken.
Der PHP-Zend-Codierungsstandard erfordert das Schreiben mehrzeiliger Funktionsaufrufe wie folgt:
%Vor%Ich denke, der folgende Ansatz ist besser lesbar:
%Vor%Da es nur eine Zeile auf der linken Seite gibt, zeigt dies an, dass dies nur eine Anweisung ist und die Argumente näher am Methodennamen sind.
Welche bevorzugen SIE ?
Der zweite Ansatz hinterlässt ein zusätzliches Problem: Linienlänge. Der Zend Coding Standard legt nahe, dass "die maximale Länge einer beliebigen PHP Codezeile 120 Zeichen beträgt."
Das heißt, wenn Sie gute (lange, beschreibende) Variablennamen haben wollen und Sie eine für den Rückgabewert, das Objekt, eine gute benannte Funktion und einen langen Parameter haben, treffen Sie viel eher die 120 Zeichen Grenze.
Zusätzlich dazu und abhängig von Ihrem Standard kann die maximale Länge nur 80 Zeichen oder etwas dazwischen betragen.
Außerdem mag ich das erste besser, wenn es wiederholt benutzt wird
%Vor%Wie Pekka sagte, weniger Augen springen.
Ich mag die erste Annäherung besser. Letzteres erfordert mehr Tipparbeit, und ist mehr anstrengend auf die Augen IMO. Ich denke, dass das Auge - zumindest für den "westlichen", von links nach rechts lesenden Teil der Menschheit - dazu tendiert, zum Anfang der nächsten Zeile zu springen, wenn man am Ende des aktuellen ankommt, und es gibt zu viel Leerraum im zweiten Beispiel rüber springen. Es ist möglicherweise nicht semantisch zu 100% korrekt, bietet aber einen guten Lesefluss.
Von den beiden, die du zur Verfügung gestellt hast, bevorzuge ich die erste.
Wenn ein Kodierungsstandard vorhanden ist, werde ich dem folgen. Bei meiner Arbeit gibt es das nicht, und ich bevorzuge Folgendes:
%Vor%Für mich ist es einfacher, sofort zu sehen, dass eine Variablenzuweisung ausgeführt wird (wegen der Art, wie Parameter und schließende Klammern eingerückt sind. Beim Zend-Standard muss man tatsächlich nach dem Gleichheitszeichen suchen, um zu sehen, dass es ein ist Zuweisung, sonst könnte es mit einem einfachen mehrzeiligen Funktionsaufruf verwechselt werden.
Noch ein Kommentar ... meine Funktionsaufrufe werden nur mehrzeilig, wenn sie 120 Zeichen überschreiten, mehr als 120 Zeichen sind in meiner IDE bei einer Auflösung von 1600x1200 nicht sichtbar, wenn der Arbeitsbereich-Browser und die Code-Navigator-Fenster geöffnet sind.
Diese Codezeile besteht nur aus 74 Zeichen, also hätte ich das getan:
%Vor%Weder? Option A ist möglicherweise verwirrend, da ein einzelner Einzug für Codeblöcke verwendet wird. Option B ist problematisch mit langen Argumentnamen und / oder tief eingerücktem Code.
Ich bevorzuge Double-Indent für fortgesetzte Argumentlisten.
Beispiel, per Erenons Anfrage:
%Vor%Ich gehe normalerweise mit der Ersten, aber mit der schließenden Klammer auf der gleichen Linie oder mindestens dem gleichen Einzug wie oben.
%Vor%Dies scheint bei der Verschachtelung eine gewisse Verwirrung zu vermeiden.
Allerdings: mein Eindringling in vim begann das selbe Level-wie-paren (2, oben) und ich mag es. Ich brich damit auf langen Zeilen, die Hilfe benötigen, aber im Allgemeinen, ich denke, es führt zu lesbarem Code, wenn Sie in erster Linie nach Methodennamen anstelle von Parametern suchen.
Übrigens, diese Art von Einrückung für verschachtelte boolesche Anweisungen, und das funktioniert auch gut.
Ich gruppiere auch Argumente in einer Zeile, wenn sie nicht zu lang sind und sie sinnvollerweise gruppieren.
Ich bevorzuge das erste aus zwei Gründen:
Tags und Links php coding-style zend-framework