Der Martin: Ästhetik und Klarheit von Code

Beitrag lesen

Moin,

also es ist spannend, das hier zu lesen. Ich muss gestehen, ich muss für mich erstmal übersetzen, was Tim meint.

das trifft es ganz gut. :-)

[Macros]
In C sind sie durchaus üblich.
Sind die noch aus (Makro-)Assembler übrig geblieben, oder hat man da das Rad neu erfunden?

Keine Ahnung, wie die Evolution da abgelaufen ist, aber in C gelten sie als fester Bestandteil der Sprache, auch wenn der Macro-Präprozessor mitunter ein eigenständiges Programm ist, das auch als eigenständiger Schritt bei der Übersetzung abläuft (meistens ist das aber schon im Compiler integriert).

Auch bin ich zunehmend skeptischer gegenüber mehreren Ausstiegspunkten aus einer Funktion.
Ich nicht, im Gegenteil: Sobald das Ergebnis einer Funktion feststeht, beende ich sie. Ich finde das übersichtlicher, als "pro forma" das schon feststehende Ergebnis bis zum Ende der Funktion durchzureichen.
Das geht aber nur sicher in Sprachen, die selber für das Aufräumen sorgen und keine lost handles oder vagabundierenden Speicher zurücklassen, wenn man den Gültigkeitsbereich der Funktion verlässt.

Nicht nur, auch wenn es da natürlich am einfachsten ist.
Aber ich hatte es als selbstverständlich vorausgesetzt, dass der Programmierer entweder ganz raffiniert ist und diese "Aufräumarbeiten" (Speicher freigeben, hergestellte Verbindungen trennen etc.) in der aufrufenden Ebene macht (das ist manchmal vorteilhaft, aber im Sinne der Kapselung und Modularität nicht unbedingt der Brüller), oder zumindest sich um diese Dinge explizit kümmert - und sei es, dass er im konkreten Fall feststellt, dass nichts weiter notwendig ist.

Meiner Ansicht nach erreicht man das am besten, indem man versucht, den natürlichen Gedankengang so gut wie möglich mit den Strukturen der jeweiligen Programmiersprache abzubilden. Das ist allerdings keine Einbahnstraße: Intensive Beschäftigung mit einer bestimmten Programmiermethode führt dazu, dass man selbst anfängt, so zu denken, und das als "normal und intuitiv" empfindet.
Für mich ist es immer wichtiger, ob auch ANDERE, die die Sprache "nur lesen" können, auch verstehen können, was derjenige erreichen wollte.

Hmm. Was meinst du mit "nur lesen"? Möchtest du Programmcode wirklich so schreiben, dass ein Laie ihn nachvollziehen kann? Das halte ich für übertrieben. Ich setze schon veraus, dass derjenige, der den Code später liest, auch vom Fach ist.

Denn ob das Wollen mit dem Tun übreinstimmt, ist ja auch nicht immer selbstverständlich und steht selten dabei :-P

Wie wahr ...

Schönes Wochenende,
 Martin

--
Drei Sachen vergesse ich immer wieder: Telefonnummern, Geburtstage und ... äääh ...
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
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