Johannes M. wrote:
> Nina wrote:
>> Hier ist eine saubere Code
> ...und immer noch mit den selben Fehlern! Und "sauber" ist auch was
> Anderes...
@Nina
Allerdings. Sauber ist wirklich was anderes.
Jetzt gehst du erst mal her und schmeisst alle überflüssigen
Klammern raus. Du hast jede Menge Klammern die den Blick
aufs wesentliche verschleieren und nichts, aber auch gar nichts
zur Klarheit beitragen.
Aus
1 | if(((zahl1)<= 14))
|
2 |
|
3 | {
|
4 | counter++;
|
5 | }
|
6 | else
|
7 | return;
|
wird so
1 | if( zahl1 <= 14 )
|
2 | counter++;
|
3 | else
|
4 | return;
|
Sieht doch gleich viel besser aus. Alternativ kann man auch die
{ } Klammern drinnen lassen
1 | if( zahl1 <= 14 )
|
2 | {
|
3 | counter++;
|
4 | }
|
5 | else
|
6 | {
|
7 | return;
|
8 | }
|
oder so
1 | if( zahl1 <= 14 ) {
|
2 | counter++;
|
3 | }
|
4 | else {
|
5 | return;
|
6 | }
|
ist in dem Fall (bei nur einer abhängigen Anweisung) Geschmackssache.
Ich persönlich mag es nicht, weil es den Code zu m.M. zu sehr in die
Länge zieht.
Danach gehst du her und stellst erst mal deine Einrückungen richtig.
Nach jeder { wird zb. 2 Leerzeichen eingerückt und nach jeder }
wird die nachfolgende Zeile wieder 2 Leerzeichen ausgerückt.
(Statt 2 kann man auch 4 nehmen. Mehr ist meist unpraktisch, weil
man zu schnell an den rechten Rand kommt)
So was1 | int main(void)
|
2 | {
|
3 | chek();
|
4 | fehler();
|
5 |
|
6 | }
|
geht zum Beispiel gar nicht. Das int bei /int main()/ muss am linken
Rand stehen. Der Aufruf der Funktion chek ist zwar sauber eingerückt
aber schon in der nächsten Zeile stimmt die Einrückung schon wieder
nicht. Und die Leerzeile vor der schließenden } trägt nichts, aber auch
gar nichts zur Lesbarkeit bei.
Generell: Wenn dir etwas wichtig genug ist, dass du Leerzeilen davor
oder dahinter einfügen willst, dann kannst du als bessere Alternative
auch gleich überflüssigen Leerzeilen durch einen Kommentar ersetzen,
der die Situation erklärt. Ansonsten sind auch mehrere Leerzeilen
hintereinander genausowichtig wie mehrere Rufzeichen beim Posten in
einem Forum: völlig unsinnig.
Sieh dir mal den Abschnitt an
1 | if(((zahl1)<= 14))
|
2 |
|
3 | {
|
4 | counter++;
|
5 | }
|
6 | else
|
7 | return;
|
8 |
|
9 | if(((zahl2)<= 10))
|
10 |
|
11 | {
|
12 | counter++;
|
13 | }
|
14 | else
|
15 | return;
|
16 | if(((zahl3)<= 8))
|
Warum ist da nach dem ersten if eine Leerzeile? Will uns die irgendetwas
sagen? gehört das nachfolgende { counter++; ... etwas nicht mehr
zu diesem if?
Warum ist allerdings vor dem if(((zahl3)<= 8)) keine Leerzeile?
Da wäre sie doch sinnvoll! Denn schliesslich gehört dieser Teil
nicht mehr zum vorhergehenden if.
Baue deinen Code so auf, dass er leicht lesbar ist. Dann hast
du und jeder andere der ihn lesen muß sehr viel mehr davon.
Und nein. Eine ordentliche Codeformatierung ist nicht Selbstzweck
sondern ist eine deiner Waffen um Fehler im Code zu finden.
PS: chek schreibt sich übrigens mit ck - check.
Auch solche offensichtliche Tippfehler tragen beileibe nicht
zum einfachen Codeverständnis bei.