Frage

folgt aus:

public void foo() {
    for (int i = 0; i < rows; i++)     // <--- no brace!
        for (j = 0; j < columns; j++)   // <--- no brace! 
            table[i][j] = new Blabla(i, j);
    other();
}

oder folgt aus:

public void foo() {
    for (int i = 0; i < rows; i++) {
        for (j = 0; j < columns; j++) {
            table[i][j] = new Blabla(i ,j);
        }
    }
    other();
}
War es hilfreich?

Lösung

Es ist besser, die Klammern enthalten, da sonst jemand eine zusätzliche Zeile Denken hinzufügen könnte es innerhalb der Schleife sein wird, aber tatsächlich wird es nur einmal, nachdem die Schleife abgeschlossen ausgeführt werden.

public void foo() {
    for (int i = 0; i < rows; i++)
        for(j = 0; j < columns; j++)
            table[i][j] = new Blabla(i, j);
            count++;                // <--- potential bug!
    other();
}

Andere Tipps

Die einfache Tatsache ist, werden die Klammern das Hinzufügen weniger Fehler induzieren. Ich denke einmal formatiert richtig die Schnipsel gleichermaßen lesbar sind.

Dies ist eine Frage des Geschmacks. Ich persönlich verwende immer Klammern, weil ich mag es und ich wurde gebissen worden durch die „andere Erklärung hinzufügen, die außerhalb des Blocks endet, weil es nicht war begrenzt“.

Ich habe milderen gewachsen, weil wir jetzt als eine Politik haben Eclipse zu haben Neuformatierung alle Quelldateien jedes Mal, wenn sie (die so genannte Save Aktionen) gespeichert werden, so dass die Einbuchtung immer richtig und Trick nicht Sie Aussagen zu denken sind innerhalb eines Blocks, wenn sie draußen. Sehr zu empfehlen.

Ich würde immer auch die curlies es sei denn, es nur eine Anweisung ist im Körper der für (oder jede andere Anweisung wie if / while) und man kann sehen, dass es eine verkürzte Stil ist. Wenn Sie die curlies aus in Ihrem Fall verlassen, könnten Sie ganz einfach das Verhalten des Verfahrens ändern, indem einfach einen Methodenaufruf an der falschen Stelle hinzufügen, weil Sie denken, es im Körper der für landen wird.

Das zweite ist besser lesbar.

Ich kann mit Weglassen Klammern aus einer einzigen Anweisung behandeln, sondern nisten, dass zu viel ist.

Beziehen Sie sich auf den Raum vor der Klammer an der for Schleife?

Ich würde persönlich keinen Raum sagen, da, aber es nicht hält mich nachts wach. Das Wichtigste ist, konsequent sein.

für sehr einfach einen klaren Code so, keine Stütze.

, wenn jemand kommt und fügt etwas in dem falschen Rahmen, nicht auf den surrouding Code bezahlen, um den neuen Code keinen zweiten Blick gibt, würde ich ihn nicht meinen Code immer wieder berühren muß.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top