Rolf b: Alternative zu eval() für arithmetische Berechnungen

Beitrag lesen

problematische Seite

D.h. du siehst dieses Objekt als JavaScript-Implementierung einer Klasse mit statischen Methoden. Da viele Programmiersprachen keine Metaklassen kennen, gibt es in ihnen keine Möglichkeit, dass statische Methoden ihre Klasse abstrakt ansprechen. Deswegen ist es dort üblich, dass statische Methoden auf andere statische Methoden der gleichen Klasse direkt zugreifen.

Wenn man das aber nicht MUSS, dann sollte man es auch nicht.

JavaScript hat noch das besondere "Feature", einer Funktion ein beliebiges this unterschieben zu können, und hindert mich auch nicht daran, das bei Methodenaufrufen zu tun. Wie schon geschrieben - ich halte den Einsatz dieser Technik bei METHODEN für falsch. In einer Methode habe ich eine definitive Erwartung, welchen Wert this hat. Bei freien FUNKTIONEN ist das was anderes. Deswegen halte ich dein Argument, dass der Gebrauch von this in einer Methode riskant ist, für irreführend.

Und dann bin ich mit deiner Deutung von "kennen" nicht glücklich. Dass die Methoden des opMap-Objekts die Variable "opMap" sehen, weil sie im gleichen Kontext liegen, heißt ja noch nicht, dass sie sie auch benutzen sollten. Ich muss nicht alles anfassen, was ich sehe - als kleiner Junge habe ich das schmerzhaft gelernt (Kochtopf). Es gibt Dinge, die fasst man besser nicht an. Objekte sollten nicht eigenständig aus sich hinausgreifen. Wenn sie was brauchen, muss man es ihnen liefern. Alles andere führt zu langfaserigem Objektfilz.

Ja, du hast recht, statischer Code ist - solange er nicht zu groß wird - einfacher zu erfassen. Wird er größer, entstehen viel zu viele Abhängigkeiten und nicht mehr wartbares Chaos. Das ist für Matthias' kleinen Rechner nicht das Problem. Aber wenn man die entsprechenden Programmiermuster im Kleinen einübt, muss man sich bei größeren Projekten nicht erst neu dran gewöhnen.

Auch das ist eine Eigenschaft von Menschen: Wir sind Gewohnheitstiere. Gewohnheiten zu meiden, die sich als schädlich herausstellen können, ist daher eine nützliche Sache. Dass ich die Hand auf den Herd legen kann, wenn er kalt ist, ist zwar ungefährlich, aber trotzdem habe ich mir angewöhnt, das sein zu lassen. Weil heiß sein kann.

Rolf

0 52

Alternative zu eval() für arithmetische Berechnungen

Matthias Scharwies
  • javascript
  1. 0
    Gunnar Bittersmann
    1. 1
      Rolf b
      1. 1
        Felix Riesterer
        1. 1
          Gunnar Bittersmann
      2. 0
        Matthias Scharwies
        1. 2
          Rolf b
          • javascript
          • programmiertechnik
          1. 0
            Matthias Scharwies
            1. 0
              Rolf b
              1. 0
                Camping_RIDER
                • humor
                • menschelei
          2. 1
            1unitedpower
            1. 0
              Rolf b
              1. 0
                1unitedpower
                1. 0
                  Rolf b
                  1. 0
                    1unitedpower
        2. 0
          JürgenB
          1. 1
            Christian Kruse
            1. 0
              JürgenB
              1. 0
                Christian Kruse
  2. 0
    Tabellenkalk
    1. 0
      Gunnar Bittersmann
  3. 0
    pl
    1. 0
      Gunnar Bittersmann
    2. 0
      Rolf b
      1. 1
        pl
        • javascript
        • programmiertechnik
        1. 0
          TS
          1. -1
            pl
            1. 0
              TS
              1. 0
                Tabellenkalk
                1. 0
                  TS
              2. 0
                pl
                1. 0
                  TS
                  1. -2
                    pl
                    • javascript
                    • programmiertechnik
                    • zu diesem forum
                    1. 0
                      Gunnar Bittersmann
                      • zu diesem forum
  4. 1
    Matthias Apsel
    1. 0
      Matthias Scharwies
      1. 2
        JürgenB
      2. 0
        Rolf b
  5. 0
    TS
    • javascript
    • programmplanung
    1. 0

      Mathe-Quiz - Aufgabenstellung zusammengefasst

      Matthias Scharwies
      1. 0

        Mathe-Quiz - aufgabenstellung zusammengefasst

        Matthias Apsel
        1. 0
          dedlfix
          1. 0
            Matthias Apsel
          2. 0

            Mathe-Quiz - für welche Schüler?

            Matthias Scharwies
      2. 0

        Mathe-Quiz 0.3 (läuft)

        Matthias Scharwies
        1. 0
          TS
          1. 0
            Gunnar Bittersmann
            1. 0
              Tabellenkalk
              1. 0
                JürgenB
                1. 0
                  Gunnar Bittersmann
                2. 0
                  TS
        2. 0
          Tabellenkalk
          • javascript
          • programmplanung
          • rechnen