asdf: Ästhetik und Klarheit von Code

Beitrag lesen

Hallo,

gibts, ist auch schon etwas älter https://www.google.com/cse?q=clean+code.

Guter code zeigt sich vor allen dann, wenn er personen aus folgenden Gruppen standhält (liste nicht vollständig):

http://de.wikipedia.org/wiki/Dunning-Kruger-Effekt davon treiben sich auch viele hier im forum rum.
http://de.wikipedia.org/wiki/Peter-Prinzip man braucht einen moment um solche kollegen zu identifizieren
http://de.wikipedia.org/wiki/Parkinsonsches_Gesetz greift besonders bei kollegen die nicht nein-sagen können, und ergo weniger zeit für mehr aufgaben haben.

hält der code solchen leuten auf dauer und mit ein bisschen pflege stand, dann ist es guter code.

ich verwende immer gerne ein ganz simples beispiel um guten code zu erklären:

  
int sum = 10 * 3 + 1000;  

na? ist der code schlecht?

ja. weil er nicht ausdrückt was der autor vorhatte. jeder mathematiker rollt jetzt schon mit den augen. aber man muss die sachen aus einem anderen sichtwinkel betrachten. wie lange wird der code intakt inkl. kleinen änderungen überleben?

der nächste maintainer wird aus unsäglichen gründen (unkonzentriert, krank, keine zeit, idiot, ...) den code kaputtmachen.

  
int sum = (10 * 3) + 1000;  

ist besser, weil sich der nächste, der den code anfasst nicht fragen muss:

"hat der depp (auch hier gilt der schluss mit den personengruppen) vielleicht doch int sum = 10 * (3 + 1000) gemeint?"

er ist maximal aussagekräftig und zwar nicht minimal kurz, aber minimal kurz, dass er maximale eindeutigkeit enthält.

dann höre ich immer wieder die argumente "wer punkt vor strichrechnung nicht kann ..."

-> DER HAT VIELLEICHT EINFACH EINEN SCHLECHTEN TAG
-> oder liest es im geiste anders
-> oder hat keine zeit ...

guter code lässt sich leicht verstehen. guter code ist so strukturiert, dass man vom groben in die tiefe steigen kann.

guter code erfordert eine menge disziplin, den 98% aller internetbeteiligten, die sich programmierer oder nerd oder geek schimpfen, überhaupt nicht aufbringen können.

und: ein "cleverer" algorithmus führt nicht notwendigerweise zu gutem code.

Hth

3 88

Ästhetik und Klarheit von Code

Tim Tepaße
  • programmiertechnik
  1. 2
    asdf
    1. 0
      Jeena Paradies
      1. 0
        asdf
      2. 2
        molily
        1. 0
          Jeena Paradies
      3. 2
        Stefanie M.
    2. 0
      Tim Tepaße
      1. 1
        dedlfix
  2. 0
    Jeena Paradies
    1. 2
      Tim Tepaße
      1. 2
        Jeena Paradies
  3. 0
    Der Martin
    1. 1
      Jeena Paradies
    2. 1
      Tim Tepaße
      1. 0
        Der Martin
        1. 0
          Jeena Paradies
          1. 0
            Der Martin
            1. 3
              DaBear
              1. 0
                Der Martin
                1. 1
                  DaBear
                  1. 0
                    Der Martin
                    1. 1
                      Jeena Paradies
                      1. 4
                        Christian Kruse
                        1. 0
                          Christian Seiler
                          1. 0
                            Christian Kruse
                          2. 0
                            molily
                2. 0
                  Tom
            2. 2
              Tim Tepaße
              1. 0
                Der Martin
                1. 1
                  dedlfix
                  1. 0
                    Tom
                    1. 1
                      Jeena Paradies
                      1. 0
                        Tom
                        1. 0
                          Tom
                          1. 4
                            Christian Kruse
                        2. 4
                          Kai345
                2. 3
                  Christian Seiler
                  1. 0
                    Tom
                    1. 0
                      Don P
                      • menschelei
                      1. 0

                        Currying

                        Tom
              2. 0
                Stefanie M.
                1. 0
                  Tom
                  1. 0
                    Tim Tepaße
                    1. 0
                      dedlfix
                    2. 1
                      Der Martin
                      1. 2
                        molily
                2. 1
                  molily
            3. 3
              molily
              1. 0
                Der Martin
                1. 0
                  dedlfix
                  1. 0
                    Tom
                    1. 5
                      molily
                      1. 0

                        Ein Nachruf

                        Christian Seiler
                        1. 0
                          Christian Kruse
                          1. 0
                            Tom
                        2. 0
                          Der Martin
                          1. 3
                            Christian Seiler
                            1. 0
                              Der Martin
                        3. 0

                          Der Unterschied zwischen Nachwuchsföderung und Arroganz

                          Tom
                          • menschelei
                          1. 0

                            Was ist aus dem einstigen Nachwuchs geworden?

                            Tom
                          2. 0
                            Jeena Paradies
                        4. 1
                          dedlfix
                      2. 0
                        Tom
                        1. 0
                          Tim Tepaße
                          1. 0
                            Der Martin
                            1. 5
                              molily
                              1. 1
                                dedlfix
                                1. 3
                                  molily
                                  1. 3
                                    Don P
                          2. 0
                            Tom
                            1. 0
                              Tim Tepaße
                              1. 0
                                dedlfix
        2. 0
          Christian Seiler
        3. 0
          Don P
    3. 0
      Tom
      1. 0
        Der Martin
    4. 0
      Don P
      1. 0
        Jeena Paradies
        1. 0
          Christian Seiler
          1. 0
            Christian Kruse
          2. 0
            molily
  4. 1
    molily
    1. 0
      Tim Tepaße
  5. 0
    reborn
  6. 0
    Buchtipp
  7. 0
    jobo
    1. 0
      jobo