Warum programmiert man heute in neuer Schreibweise

Hallo,

ich habe frueher (ich weiss es ist schon tausend Jahre her) noch gelernt, dass die Klammern beim Programmieren so gesetzt werden:

if($abc)
{
Programmcode;
Programmcode;
}

Das fand ich eigentlich sehr uebersichtlich
Heute macht man das wohl eher so:

if($abc) {
Programmcode;
Programmcode;
}

Warum ist mir ueberhaupt nicht klar. Was ist daran besser oder uebersichtlicher? Besonders wenn es ueber mehrere Ebenen geht.

Vielleicht fehlt mir ja nur der richtige Tick.

Ich habe jedenfalls immer ziemliche Probleme andere Programme zu lesen, weil ich es einfach auf die alte (uebersichtliche) Art gewohnt bin. Vielleicht bin ich aber auch einfach nur zu alt um mich noch daran zu gewoehnen.

Viellecht hilft es mir aber auch, wenn ich mal die Vorteile der neuen Schreibweise erkenne! Helft mir doch mal dabei…

Opa Christian

Hallo,

ich habe frueher (ich weiss es ist schon tausend Jahre her)
noch gelernt, dass die Klammern beim Programmieren so gesetzt
werden:

> if($abc)  
> {  
> Programmcode;  
> Programmcode;  
> }

Ich kenne das eigentlich eher so:

if ($abc)
{
 Zeile1;
 Zeile2;
}

Das fand ich eigentlich sehr uebersichtlich
Heute macht man das wohl eher so:

> if($abc) {  
> Programmcode;  
> Programmcode;  
> }

Warum ist mir ueberhaupt nicht klar. Was ist daran besser oder
uebersichtlicher? Besonders wenn es ueber mehrere Ebenen geht.

Also ich kenne eher das hier:

if ($abc) {
 Code;
 Code;
}

Einrückungen sollten schon sein, damit man die Verschachtelungsebenen sieht, und alle guten Programmier die ich kenne machen das auch konsequent.

Die Idee ist, dass man die schliessende Klammer in die gleiche Spalte schreibt wie der Beginn des Block-Konstrukts. Die öffnende geschweifte Klammer nicht auf eine eigene Zeile zu schreiben spart Platz auf dem Bildschirm, ohne etwas zu kosten.

Allerdings ist gerade Einrückung ein Thema, bei dem es vor allem auf persönliche Vorlieben ankommt, weniger auf rationale Begründung.

Ich habe jedenfalls immer ziemliche Probleme andere Programme
zu lesen, weil ich es einfach auf die alte (uebersichtliche)
Art gewohnt bin. Vielleicht bin ich aber auch einfach nur zu
alt um mich noch daran zu gewoehnen.

Wenn ich so einen Code nicht lesen kann, füge ich ihn per Copy & Paste in einen Editor, der die Einrückung automatisch „richtig“ macht. Die Klammern zwar nicht, aber damit kann ich leben.

Grüße,
Moritz

Hallo Christian,
Conventionen gibt es warscheinlich annähernd so viele wie Programmmierer.

das geht bei der Variablen Benennung los.

manche bevorzugen
bla_bubs

andere CamelSyntax: blaBlubs oder BlaBlubs…

und genau so verhält es sich mit den

klammern.

ich persönlich setzt voll auf einrückungen

if (x=y){
 x=z;
}

ich mag diese art der schreibweise. weil es mir eine zeile spart.
was ich persönlich nicht mag ist ifs weiter zu verkürzen. zu einzeilern
if (x=y){x=z;}

oder das weglassen von klammern (das ja auch viele sprachen erlauben wenn nur das erste statement nach dem if betroffen ist)
if (x=y)
x=z;

ich denke es ist einzig und allein eine frage des persönlichen geschmacks bzw. von dem was man gelernt hat. und sich so jahrelang drauf trainiert hat.

gruss chris

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

code style guides
Hallo Chris,

man/frau programmiert gefälligst so, wie es in den Code Style Guides des Auftraggebers oder Arbeitgebers drinsteht. Und wenn da nichts drin steht, darf man sich gerne über die Professionalität der Unternehmung Gedanken machen.

Gruß

Stefan

Hallo Moritz,

ich arbeite seit vielen Jahren mit dem UltraEdit (aeltere Version).
Ist zwar sehr gut, aber die Einrueckungen macht er nicht automatisch.

Welcher Editor (Windows) macht das denn? Hast Du da einen Tip fuer mich? Ich denke auch, dass das zumindest bei fremdem Code sehr helfen wuerde.

Christian

Wenn ich so einen Code nicht lesen kann, füge ich ihn per Copy
& Paste in einen Editor, der die Einrückung automatisch
„richtig“ macht. Die Klammern zwar nicht, aber damit kann ich
leben.

Grüße,
Moritz

Hallo Moritz,

ich arbeite seit vielen Jahren mit dem UltraEdit (aeltere
Version).
Ist zwar sehr gut, aber die Einrueckungen macht er nicht
automatisch.

Welcher Editor (Windows) macht das denn? Hast Du da einen Tip
fuer mich? Ich denke auch, dass das zumindest bei fremdem Code
sehr helfen wuerde.

Ultraedit aktuelle Version.

Kostenpunkt 50 Euro.

mit ein bißchen googlen findest du sicher auch einen kostenlosen.

Gruß

Hallo

Welcher Editor (Windows) macht das denn? Hast Du da einen Tip
fuer mich? Ich denke auch, dass das zumindest bei fremdem Code
sehr helfen wuerde.

Der
http://www.activestate.com/Products/komodo_edit/
macht das zum Bleistift (und kostet nix).

CMБ

Hallo,

ich arbeite seit vielen Jahren mit dem UltraEdit (aeltere
Version).
Ist zwar sehr gut, aber die Einrueckungen macht er nicht
automatisch.

Welcher Editor (Windows) macht das denn? Hast Du da einen Tip
fuer mich? Ich denke auch, dass das zumindest bei fremdem Code
sehr helfen wuerde.

Ich arbeite mit vim (bzw. gvim). Der ist zwar für Unix gedacht, funktioniert auch unter Windows.

Der ist anfangs nicht sonderlich intuitiv, aber wenn man sich mal reingearbeitet hat kann man sehr effizient damit arbeiten.

Übrigens gibt es auch pretty printer für diverse Programmiersprachen, z.B. perltidy für Perl.

Grüße,
Moritz

Hallo Chris,

sieht für mich so aus, als ob du Styleguides für Perl suchst. Schau mal bei O’Reilly (http://www.oreilly.com/catalog/perlbp), dort werden vernünftige Style-Guides erklärt und vor allen Dingen auch begründet, warum eine bestimmte Art der Formatierung sinnvoll oder unsinnig ist.

Anfangs erscheint alles vielleicht etwas zu dogmatisch, aber insgesamt ein geiles Buch mit absolut praxistauglichen Hinweisen.

gruss
bernhard

Hi Chris,

schau dir mal Notepad++ an. Syntaxhervorhebung für viele verschiedene Programmiersprache, Einrückautomation und du kannst Codeblöcke die du aktuell nicht bearbeitest ausblenden damit das ganze übersichtlicher wird.

Gruß Michi