/php - Einrückungen bei elseif oder else ?
Herbert mit den grossen Ohren und dem Kinn
- programmiertechnik
Guten Morgen,
wie rücken die Profis dieses Forums else Anweisungen ein?
if (...) {
.............
.............
.............
} else {
.............
.............
.............
}
oder doch besser
if (...) {
.............
.............
.............
} else {
.............
.............
.............
}
Also ich meine werden 4 Zeichen eingerückt von der letzten schließenden Klammer oder bündig mit dem "else" ? Ich weiß es gibt keine strengen Regeln, wollte nur mal frage was empfohlen wird!
Danke
Ich würde die erste Version wählen.
Moin!
wie rücken die Profis dieses Forums else Anweisungen ein?
Ist relevant, ob man Profi ist? Hauptsache, zwei Dinge sind erfüllt:
1. Man stimmt mit seiner Einrückung mit den definierten Programmierstandards des Projekts/der Firma/der Gruppe überein.
2. Es ist einheitlich.
Ich bevorzuge:
if (...)
{
.............
...........
.............
}
else
{
.............
.............
.............
}
Ich rücke grundsätzlich 2 Zeichen pro Ebene ein, und die geschweiften Klammern kommen grundsätzlich in die erste Spalte der jeweiligen Ebene. So kann ich viel leichter erkennen, ob zu jeder öffnenden Klammer auch eine schließende Klammer vorhanden ist, weil sie immer vorne am Anfang stehen, und nicht hinten am Zeilenende herumflattern.
Ja, das bläht den Code zeilenmäßig gesehen auf. Aber es strukturiert durch diese Fast-Leerzeilen auch.
- Sven Rautenberg
genau so mache ich das auch!!
obwohl ich statt leerzeichen meistens tab nehme... ist von der dateigrösse auch nicht unbedingt mehr...
cu
Moin Moin !
Also mal wieder die Formatierungsdiskussion.
* konsequent
* nachvollziehbar
* lesbar
* einheitlich
Es gibt im Web einige Regeln, wie man Code formatieren sollte. Z.B. in den Linux-Sources die Datei Documentation/CodingStyle (http://lxr.linux.no/source/Documentation/CodingStyle) oder perldoc perlstyle (http://www.perldoc.com/perl5.8.0/pod/perlstyle.html).
Ob man nun Javascript, Java, C, C++, Perl, PHP, C#, J# oder sonst ein C-Derivat zum Coden benutzt, ist dank beinahe einheitlicher Syntax recht egal. Mit etwas mehr Mühe kann man den Coding-Style auch in Pascal, Fortran und anderen Sprachen durchziehen.
Bei mir sieht if-then-else so aus:
if (...) {
...
...
...
} else {
...
...
...
}
Svens Argument, die Klammern untereinander zu setzen, ist zwar nicht von der Hand zu weisen. Aber diese Extra-Zeilen blähen mir den Code zu sehr auf.
Und ich nehme zum Einrücken ausschließlich Tabulatoren, eingestellt auf vier Zeichen. Wer Code "enger" haben möchte, stellt auf zwei oder drei Zeichen um, wer es luftiger haben möchte, nimmt 8. Wer einen Editor mit fest programmierten Tabulatoren benutzt, muß mit der "luftigen" Einrückung leben.
Richtig fürchterlich finde ich den Stil von einigen größeren Projekten (war es Apache?), eine Tab-Breite von 8 und eine Einrückung von vier vorzuschreiben, und dann gemischt mit Tab und Space einzurücken. Das mag zwar einige Bytes sparen, aber es stört fürchterlich, wenn der Editor nicht auf 8 Zeichen lange Tabs eingestellt ist.
Ein eigentlich sauber eingerückter Text sieht dann mit 4er-Tabs nämlich alles andere als sauber aus:
function(...)
{
for (...) { /* 4 spaces */
... /* 1 TAB */
if (...) { /* 1 TAB */
.... /* 1 TAB + 4 spaces */
for (...) {
if (...) { /* 2 TABs */
.... /* 2 TABs + 4 spaces */
}
}
}
}
}
An diesem Beispiel sieht man auch: Die öffnende Klammer eines Blocks steht bei mir immer am Ende der einleitenden Zeile, außer bei Funktionsdefinitionen.
Das ist mein Coding-Stil, ich ziehe ihn konsequent durch alle Projekte und alle wesentlichen Sprachen, und damit komme ich gut zurecht. Da ich nicht in einer Coding-Firma arbeite, sondern im wesentlichen alleine Code schreibe, kann ich den Stil festlegen.
Alexander
Hi Herbert!
wie rücken die Profis dieses Forums else Anweisungen ein?
Das ist doch schnuppe. Du solltest nicht einrücken, wie andere es tun, sondern so einrücken, wie _du selber_ es am besten findest. Schau an, wie du den Quelltext am liebsten hast. Immerhin musst du dich später zurecht finden. Also sollte dein Programmierstil an dich angepasst sein.
Falls es dich interessiert, ich schreibe so:
if Bedingung {
Anweisung
}
else {
Anweisung
}
Tschüss
Wolfgang