Rolf B: Große JS-Dateien

Beitrag lesen

Hallo Felix,

Und beim Programmieren möchte man seinen Code so strukturieren, dass seine Funktionalität beweisbar ist.

Viel Glück dabei. In den 4 Semestern, die ich mir damals Informatik angetan habe, kam auch "Theoretische Informatik" vor, inclusive Algorithmusbeweisen. Das geht für sehr kleine Module und bedeutet für jede Schleife eine vollständige Induktion. Juhuuu!

Du möchtest, dass die Funktionalität testbar ist. Vermutlich hast Du das gemeint, aber ein Unit-Test ist kein Programmbeweis.

Für Unittests brauchst du richtigerweise die Möglichkeit, den Code in unabhängige Einheiten aufzuteilen, deren Funktionsweise Du sauber spezifizieren kannst und deren Spezifikation Du mit Unit-Tests nachweisen kannst. OOP und Dependency Injection helfen hierbei massiv. Ob fischlak das mit seiner Technik hinbekommt, wäre erstmal nachzuweisen.

Unittest-fähigkeit bedeutet auch, dass für die Softwareschichten, die nicht im Bodensatz der Logikstruktur herumkriechen, die von ihnen genutzten tieferen Schichten simuliert werden können. Das kann man Mock, Stub, Fake, Test-Double, Spy oder sonstwie nennen, Hauptsache ist, dass der Ersatz die für den Unittest nötigen Verhaltensweisen zeigt. Oder wie es bei NSubstitute (eine .net Library) so schön heißt:

Mock, stub, fake, spy, test double? Strict or loose? Nah, just substitute for the type you need!

Das Substituieren des DOM ist dabei eine besondere Herausforderung. Bisher habe ich es vermieden, Unittests für UI-nahen Code zu schreiben…

Rolf

--
sumpsi - posui - obstruxi
0 70

Große JS-Dateien

fischlak
  • javascript
  • software
  1. 0
    Rolf B
    1. 0
      fischlak
      1. 0
        Rolf B
        1. 0
          fischlak
          1. 0
            Felix Riesterer
            1. 0
              fischlak
              1. 0
                Felix Riesterer
                1. 0
                  fischlak
                  1. 1
                    Rolf B
                    1. 0
                      fischlak
                      1. 0
                        Rolf B
                        1. 0
                          fischlak
                    2. 0
                      Hawk
                      1. 0
                        Rolf B
                        1. 0
                          fischlak
                        2. 0
                          Hawk
                        3. 0
                          fischlak
                          1. 0
                            Rolf B
                            1. 0
                              fischlak
                              1. 0
                                Felix Riesterer
                              2. 0
                                Felix Riesterer
                            2. 0
                              fischlak
                              1. 1
                                Rolf B
                                1. 0
                                  fischlak
                                  1. 0
                                    Felix Riesterer
                                    1. 0
                                      fischlak
                                      1. 0
                                        Felix Riesterer
                                        1. 0
                                          fischlak
                                        2. 0
                                          fischlak
                                      2. 0
                                        Rolf B
                                        1. 0
                                          fischlak
                                        2. 0
                                          Robert B.
                                          • javascript
                                  2. 0
                                    Robert B.
                                    • javascript
                                    • performance
                                    • software
                                    1. 0
                                      fischlak
                                      1. 0
                                        Felix Riesterer
                                        1. 0
                                          fischlak
                                        2. 0
                                          fischlak
                                          1. 0
                                            Julius
                                            • editor
                                            • microsoft
                                            • software
                                            1. 0
                                              fischlak
                                          2. 0
                                            encoder
                                            1. 0
                                              fischlak
                                              1. 1
                                                Felix Riesterer
                                                1. 0
                                                  fischlak
                                                2. 0
                                                  fischlak
                                                3. 0
                                                  fischlak
  2. 0
    encoder
    1. 0
      fischlak
      1. 0
        Felix Riesterer
        1. 0
          Rolf B
          1. 0
            Gunnar Bittersmann
            • css
            • html
            • test
            1. 0
              Rolf B
              1. 0
                Gunnar Bittersmann
        2. 0
          fischlak
          1. 0
            Rolf B
    2. 0
      fischlak
      1. 0
        Felix Riesterer
        1. 0
          fischlak
      2. 0
        Rolf B
        1. 0
          fischlak
          1. 1
            Rolf B
            1. 0
              fischlak
              1. 0
                Rolf B
                1. 0
                  fischlak
                  1. 0
                    Felix Riesterer
                    1. 0
                      fischlak
                      1. 0
                        Felix Riesterer
                        1. 0
                          fischlak
            2. 0
              MudGuard
        2. 0
          ottogal