Was ich nie verstehen werde ist, warum so viele Leute öffnende Klammern nicht in eine neue Zeile schreiben. Ich find das extrem unübersichtlich, weil ich immer diagonal über den Code gucken muss, um die zugehörige Klammer zu finden. Wenn ich die öffnende Klammer in eine neue Zeile schreibe, kann ich sie ganz leicht wiederfinden. Es ist die, die in der gleichen Spalte steht, wie die schließende Klammer. Bei öffnenden Klammern am Ende der Zeilen kann ich das nicht. Gibt es irgendwas Tolles, was ich da übersehe oder ist es einfach Gewohnheit?
Benutzer wird von Ihnen ignoriert. Anzeigen
Du hast volkommen Recht, es ist wirklich unübersichtlich und auch heutzutage völlig unnötig. Liegt wohl entweder daran, dass es Leute geschrieben haben, die aus einer älteren "Ära" der Programmierung stammen und sich nicht umgewöhnen wollen oder mal alten C-Code gesehen haben und meinen es ist "cool" so zu formatieren. Zur Übersichtlichkeit trägt es auf keden Fall nicht bei und auf 15" Monitoren wird wohl auch niemand mehr programmieren.
Benutzer wird von Ihnen ignoriert. Anzeigen
Ich programmiere auf 13".
Ich mache die Klammer auch in die selbe Zeile wie der Befehl der sie öffnet da ich nach der Befehlszeile auf dem selben Level suche nicht nach einer offnen Klammer.
if (true) {
_do something;
}
Ich suche auf dem indent Level von } nach dem nächsten Befehl, if anstatt nach { ausschau zu halten.
Wenn ich es so schreiben würde wäre es unübersichtlicher für mich denn die einzelne Klammer verschwendet mir eine zusätzliche Zeile und ich suche ja nach dem Befehl nicht nach der offenen Klammer.
if (true)
{
_do something;
}
Klar ist es einerseits Gewohnheitssache aber andererseits auch wohl ein unterschiedliches Vorgehen bzw unterschiedliche Mentalität beim navigieren durch den Code.
(Die _ sollen einfache Leerzeichen fürs Indent sein, geht hier aber im Forum nicht)
2 mal bearbeitet, zuletzt am 27.08.12 21:24 durch hachre.
Benutzer wird von Ihnen ignoriert. Anzeigen
Mir persönlich gefällts besser, die öffnende Klammer auf derselben Zeile wie den Befehl zu schreiben. Wie der vorposter schon sagt, man sucht den Befehl und nicht die Klammer. Ausserdem ziehts meiner Meinung nach das Dokument unnötig in die Länge.
Das Ganze ist einfach geschmackssache und hat weder was mit Cool sein noch Bildschirmgrösse zu tun.
Benutzer wird von Ihnen ignoriert. Anzeigen
Wenn man für jede Klammer eine eigene Zeile hat, dann zieht es doch nur den Code auf dem Bildschirm in die Länge.
Moderne IDEs sollten außerdem zusammengehörende Klammern markieren können wenn man mal das Gegenpaar nicht eindeutig finden kann.
Benutzer wird von Ihnen ignoriert. Anzeigen
Unter JavaScript würde ein
function test()
{
return
{ x:1,
y: 2};
}
ein undefined zurückgeben (wegen der dämlichen Semikolon Insertion, welche nach dem return einen ; einfügt).
Man muss also
return {
x:1,
y: 2
}
schreiben. Aus Konsistenzgründen macht man dann auch gleich alle öffnenden Klammern in der vorherige Zeile.
Benutzer wird von Ihnen ignoriert. Anzeigen
Ich habe mich früher auch immer daran gestört wenn ich die Klammern direkt hinter dem if statement gesehen habe, jedoch habe ich mich dann einfach mal dazu gezwungen das auch so zu machen und was soll ich sagen, mittlerweile gefällt mir das viel viel besser die Klammer direkt hinter das if statement zu setzen, ich weiß aber leider nicht warum, ist wohl bei jedem anders
Benutzer wird von Ihnen ignoriert. Anzeigen
Wenn diese Eigenarten in Javascript einer Logik folgen würden oder wenigstens eine Warnung statt einem Semikolon dann wäre es sogar eine gute Sprache (sofern man dynamisch typisierte Sprachen überhaupt mag).
Benutzer wird von Ihnen ignoriert. Anzeigen
glurak15 schrieb:
--------------------------------------------------------------------------------
> Mir persönlich gefällts besser, die öffnende Klammer auf derselben Zeile
> wie den Befehl zu schreiben. Wie der vorposter schon sagt, man sucht den
> Befehl und nicht die Klammer. Ausserdem ziehts meiner Meinung nach das
> Dokument unnötig in die Länge.
Ich habe da immer noch dieses "Modell" im Kopf... ich drehe den Bildschirm 90 Grad nach rechts und habe dann durch die Klammern (gerade bei Verschachtelungen) sowas wie "Töpfe" oder "Beutel", bei denen die Klammern den linken und rechten Rand darstellen. Das sieht, finde ich, übersichtlich aus, man sieht sofort, was zusammengehört. Mit den Klammern am Ende der Zeile habe ich das nicht mehr und für mich persönlich sieht das chaotisch und shice aus :-)
> Das Ganze ist einfach geschmackssache und hat weder was mit Cool sein noch
> Bildschirmgrösse zu tun.
Klar, keine Frage.
Benutzer wird von Ihnen ignoriert. Anzeigen
Klammern sowie Semikolons finde ich heutzutage eigentlich recht überflüssig, da gefällt mir Python besser.
Statt also
function_a(...) {
statement;
...
}
statement;
...
zu fordern wird hier
function(...)
statement
...
statement
geschrieben. Die Bündelung der Statements innerhalb der Funktion ergibt sich schlicht aus dem Einzugslevel. Semikolons sind nicht notwendig da generell nur ein Statement pro Zeile zulässig ist (ENTER = Verarbeitungsanweisung). Dadurch ist die Formatierung des Codes immer einheitlich.
Bei BASIC-Sprachen ist es ja ähnlich nur dass hier noch ein END FUNCTION dazukommt. Das ist zwar eigentlich redundant, hat aber den Vorteil dass man ohne langes Suchen sofort erkennt, was hier eigentlich geschlossen wird.
spyro
Benutzer wird von Ihnen ignoriert. Anzeigen
Ich mag die Klammer hinterm befehl mehr da ich mich danach richte wie weit ich den Code einrücke und ich so viel mehr gleichzeitig auf dem Bildschirm sehen kann.
Benutzer wird von Ihnen ignoriert. Anzeigen
Natürlich gilt auch hier die Einrückung (Golem entfernt diese aber leider).
spyro
Benutzer wird von Ihnen ignoriert. Anzeigen
Firefox blinkt nicht mehr
Regierung äußert sich zu Nato-Regeln zum Töten von Hackern
Überleben von Rapidshare steht infrage
Maps With Me Pro gratis in Amazons App-Shop
P-States verringern Leistungsaufnahme auf Intel-CPUs
Kommentare: 391 | letzter Beitrag 18.05. 11:42
Kommentare: 315 | letzter Beitrag 03:11 Uhr
Kommentare: 268 | letzter Beitrag 00:25 Uhr
Kommentare: 201 | letzter Beitrag 18.05. 21:33
Kommentare: 154 | letzter Beitrag 01:31 Uhr
E-Mail an news@golem.de

Laut einem SAP Vice President für die Cloud-Sparte sind USB-Sticks mit Schadsoftware und selbstgestrickte IT die Hauptgefahren für die Sicherheit der Unternehmens-IT.

Die Regierungsmehrheit hat im Umweltausschuss verhindert, dass das Verkleben von im Macbook Pro eingebauten Komponenten verboten wird. Diese Praxis erschwert laut einem Gutachten einen Austausch oder eine Reparatur.

Über eine Schwachstelle im Linux-Kernel kann sich ein lokaler Angreifer von einem eingeschränkten Konto Root-Rechte verschaffen. Die Schwachstelle besteht bereits seit mehreren Jahren. Die Lücke wurde klammheimlich geschlossen.

Wissenschaftlern fehlen für ihre Klimamodelle genaue Daten über CO2-Emissionen von Kraftwerken auf der ganzen Welt. Die Crowd soll jetzt helfen - und sie in eine auf Google Earth basierende Karte eintragen.

In Amazons App-Shop gibt es heute die Offline-Karten-App Maps With Me Pro für Android kostenlos. Damit kann das Open-Street-Map-Kartenmaterial offline auch nach Sehenswürdigkeiten, Restaurants, Hotels, Cafés und Geschäften durchsucht werden. Regulär kostet die App knapp 4 Euro.

Statt des betagten Cpufreq-Treibers und des Ondemand-Governors sollen im Linux-Kernel P-States für eine reduzierte Leistungsaufnahme der Sandy-Bridge- und Ivy-Bridge-CPUs von Intel sorgen.