Lange Zeit argumentierte ich, dass sie gleichwertig oder so nahe beieinander lagen, dass der mögliche Gewinn durch die Auswahl der richtigen Option weit unter den Kosten für Streitigkeiten lag .
Es ist jedoch wichtig , konsequent zu sein . Also sagte ich, lasst uns eine Münze werfen und mit dem Schreiben von Code beginnen.
Ich habe schon einmal gesehen, wie Programmierer sich solchen Veränderungen widersetzten. Komm darüber hinweg! Ich habe in meiner Karriere oft gewechselt. Ich verwende in meinem C # sogar andere Stile als in meiner PowerShell.
Vor ein paar Jahren arbeitete ich in einem Team (ca. 20 Entwickler), das entschied, Eingaben anzufordern, eine Entscheidung zu treffen und diese dann in der gesamten Codebasis durchzusetzen. Wir hätten 1 Woche Zeit, um uns zu entscheiden.
Viel Stöhnen und Augenzwinkern. Viele "Ich mag meinen Weg, weil es besser ist", aber keine Substanz.
Während wir uns mit den Feinheiten der Frage befassten, fragte jemand, wie man mit diesem Problem auf der gleichen Linie umgeht:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Beachten Sie, dass nicht sofort ersichtlich ist, wo die Parameterliste endet und der Body beginnt. Vergleichen mit:
void MyFunction(
int parameterOne,
int parameterTwo)
{
int localOne,
int localTwo
}
Wir haben gelesen, wie Menschen auf der ganzen Welt mit diesem Problem umgegangen sind, und dabei das Muster gefunden, nach der offenen Klammer eine Leerzeile einzufügen:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Wenn Sie eine visuelle Pause einlegen möchten, können Sie dies auch mit einer Zahnspange tun. Dann werden auch Ihre visuellen Pausen konsistent.
Edit : Zwei Alternativen zur 'Extra Blank Line'-Lösung bei Verwendung von K & R:
1 / Die Funktionsargumente werden anders als im Funktionskörper eingerückt
2 / Setzen Sie das erste Argument in dieselbe Zeile wie den Funktionsnamen und richten Sie weitere Argumente in neuen Zeilen an diesem ersten Argument aus
Beispiele:
1 /
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
2 /
void MyFunction(int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
/Bearbeiten
Ich behaupte immer noch, dass Konsistenz wichtiger ist als andere Überlegungen, aber wenn wir keinen etablierten Präzedenzfall haben , ist Klammer-an-Nächste-Linie der richtige Weg.