20 Stimmen

Kodierungsstandards und Zeilenlänge

Jeder Kodierungsstandard, den ich kenne, hat eine empfohlene oder absolute Grenze für die Anzahl der Zeichen in einer Zeile. Es gibt verschiedene Möglichkeiten, diese Begrenzung einzuhalten, aber ich habe noch nie eine spezifische Anleitung dazu gesehen.

Wenn möglich, sollten Sie natürlich keine übermäßig langen Zeilen schreiben.

Was aber, wenn das nicht praktikabel ist? Wie sollte man mit langen Schlangen umgehen?

Hier sind ein paar Beispiele

if ($Stmt = $Mysqli->prepare("SELECT color, pattern, size,
                              manufacturer, mfgSku, storeLocation,
                              aisle, status
                              FROM tblItems WHERE ourSku = ?")) {

o

$flavors = array ('chocolate', 'strawberry', 'vanilla', 'cookie dough', 
                  'chocolate chip', 'mint chocolate chip', 'rocky road',
                  'peach', 'fudge brownie', 'coffee', 'mocha chip');

o

$Stmt->bind_result( $this->_firstName,
                    $this->_lastName,
                    $this->_BillToAddress->address1,
                    $this->_BillToAddress->address2,
                    $this->_BillToAddress->city,
                    $this->_BillToAddress->state,
                    $this->_BillToAddress->zip,
                    $this->_BillToAddress->country,
                    $this->_email,
                    $this->_status,
                    $this->_primaryPhone,
                    $this->_mobilePhone );

In jedem dieser Beispiele ist die Einrückung von langem Code unterschiedlich. Gibt es eine bessere oder "Standard"-Methode für dieses Vorgehen? Sollten zusätzliche Zeilen immer auf dieselbe Weise eingerückt werden? Oder ist das in Ordnung?

12voto

Daniel Morris Punkte 6706

Ich persönlich bevorzuge das Folgende;

$Stmt->bind\_result(
    $this->\_firstName,
    $this->\_lastName,
    $this->\_BillToAddress->address1,
    $this->\_BillToAddress->address2,
    $this->\_BillToAddress->city,
    $this->\_BillToAddress->state,
    $this->\_BillToAddress->zip,
    $this->\_BillToAddress->country,
    $this->\_email,
    $this->\_status,
    $this->\_primaryPhone,
    $this->\_mobilePhone 
);

Auf diese Weise stehen die schließende Klammer und das Semikolon auf demselben Gedankenstrich wie der einleitende Aufruf. Nicht alle Sprachen unterstützen jedoch die Angabe von Parametern in einer anderen Zeile als der Methodenaufruf...

11voto

Adam Davis Punkte 89506

Es gibt ein Muster, das Sie in jedem Beispiel erkennen können - sie sind zum ersten Parameter der Funktion eingerückt. Dies ist ein guter Standard, da er die Daten von der Horizontalen in die Vertikale transponiert und die Spalten ein einfaches Lesen ermöglichen.

Bei anderen Problemen mit der Zeilenlänge, wie z. B. langen Berechnungen, ist die bevorzugte Methode die Aufgliederung. Die Berechnung des julianischen Datums oder von Ostern erfolgt in mehreren Schritten anstelle einer einzigen langen Berechnung.

6voto

Allain Lalonde Punkte 88365

Welche Sie wählen, hängt vom Kontext ab. Letztendlich schreiben Sie Code, der von einem Menschen gelesen werden soll. Wenn ein Codeblock durch eine andere Einrückung leichter zu lesen ist, dann tun Sie es.

5voto

Chris McAtackney Punkte 5064

Ein ungewöhnlicher Einrückungsstil, an den ich mich gewöhnt habe, als ich viel mit SQL gearbeitet habe, war;

INSERT INTO someTable
(
    id,
    name,
    age,
    address1,
    address2,
)
VALUES
(
    2,
    'Bob'
    25,
    '12 Fake Street',
    'The Moon'
)

Ich finde, dass es viel einfacher zu lesen ist als jedes andere Layout für lange Parameterlisten.

4voto

annakata Punkte 72408

Tür Nummer 3. Wenn Sie es nicht in einer Zeile machen können, machen Sie es in einer Zeile pro Artikel, alles andere verschleiert die Artikel nach dem ersten in der Zeile und ist schrecklich zu lesen. Eine einheitliche Einrückung ist ebenfalls wichtig.

Übrigens denke ich, dass dies ein alter Hut ist in einer Zeit, in der die meisten Programmierer zwei Monitore mit einer hohen Auflösung haben sollten. Das erste Beispiel sieht so aus, als ob es mit einer Zeile ganz gut auskommen würde.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X