Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Best practise für Javascript

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Best practise für Javascript

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      ignis-draco last edited by

      Hi Forum,

      Ich bin aktuell dabei einen sehr umfangreichen Telegram Bot zu schreiben. Mit dem ich alles mögliche Steuern möchte.
      Jedoch bin ich mir gerade nicht so ganz sicher ob die Struktur die ich bis jetzt habe sinnvoll ist.

      Kurz zu meiner Struktur bis jetzt:
      Ich habe eine subscribe Funktion die auf change: 'any' vom Telegram adapter reagiert.
      Da drin werte ich mit einem riesigen If else if die Eingabe aus und rufe andere Funktionen in der Datei auf um darauf zu reagieren.
      Dies hat den Nachteil das alles in einer Datei steht (außer ich mache alles Global) und das ganze sehr unübersichtlich wird.

      Mir stellt sich jetzt die Frage ob es nicht sinnvoller wäre für jede Funktion (Sprit preise, Heizungssteuerung, usw. ) eine eigene Datei anzulegen und mittels subscribe Funktion auf den passenden Befehl zu warten.
      Damit wäre alles übersichtlicher und vor allem Wartbarer.

      Was mich jetzt zögern lässt ist wie sieht es mit der Performance aus ? Aktuell wären es zwar nur 10 subscribe auf die gleiche id aber das kann und wird noch viel mehr werden.

      Wenn es ok oder sogar so gedacht ist das über subscribe Funktionen zu machen wie sieht es dann aus wenn man mittels RegExp die Value Variable genauer abgrenzt? Je Nach Implementierung müsste das doch besser sein als ein if in jeder subscribe Funktionen um auszuschließen das auf einen Falschen Befehl reagiert wird.

      Es wäre echt super wenn mir jemand einen Tipp geben könnte wie ich weiter machen soll. Mir fehlt leider die Erfahrung mit ioBroker und javascript um abschätzten zu können welcher der bessere weg für mich ist.

      Gruß
      Arne

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @ignis-draco last edited by paul53

        @ignis-draco sagte:

        wie sieht es mit der Performance aus ?

        Auf die Performance hat es wenig Einfluss, der RAM-Verbrauch erhöht sich allerdings durch viele "subscribe".

        @ignis-draco sagte in Best practise für Javascript:

        mittels subscribe Funktion auf den passenden Befehl zu warten.

        Du meinst so ?

        on({id: idTelegram, val: 'Befehl 1'}, function() {}); 
        
        I 1 Reply Last reply Reply Quote 0
        • I
          ignis-draco @paul53 last edited by

          @paul53 said in Best practise für Javascript:

          @ignis-draco sagte:

          wie sieht es mit der Performance aus ?

          Auf die Performance hat es wenig Einfluss, der RAM-Verbrauch erhöht sich allerdings durch viele "subscribe".

          Das ist schon mal sehr gut zu wissen. Dann werde ich das alles auseinander ziehen denn so
          wird es viele übersichtlicher.

          @ignis-draco sagte in Best practise für Javascript:

          mittels subscribe Funktion auf den passenden Befehl zu warten.

          Du meinst so ?

          on({id: idTelegram, val: 'Befehl 1'}, function() {}); 
          

          ja quasi nur halt mit RegExp damit ich am Anfang sofort erkennen ob es zu der Funktion gehört.

          on({ id: 'telegram.0.communicate.request', val: '%SECEDULE;(.*)' }, function (obj) {}
          

          Vielen dank für die Einschätzung paul53.

          Gruß
          Arne

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @ignis-draco last edited by

            @ignis-draco sagte:

            mit RegExp

            RegExp für val: im Trigger funktioniert ?

            I 1 Reply Last reply Reply Quote 0
            • I
              ignis-draco @paul53 last edited by

              Hi

              @paul53 said in Best practise für Javascript:

              RegExp für val: im Trigger funktioniert ?

              Leider nicht. Sehr schade eigentlich. Aber zumindest sind meine Skripte jetzt viel übersichtlicher.

              Gruß
              Arne

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              882
              Online

              31.8k
              Users

              80.0k
              Topics

              1.3m
              Posts

              2
              5
              452
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo