Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Kommentar] Style-Guide

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    [Kommentar] Style-Guide

    This topic has been deleted. Only users with topic management privileges can see it.
    • Stabilostick
      Stabilostick last edited by

      <size size="150">Mal ein kleiner Rant am Rande..</size>.

      So, jetzt bin ich entgültig verwirrt. Ich habe eindeutig in zu viele Konfigurationsdialoge in zu vielen Adaptern geschaut. Wahrscheinlich gehören meine Auslassungen eher in den Entwickler-Bereich, aber ich bin Anwender. Haben wir eigentlich so etwas wie einen Style-Guide für die ioBroker-Dialoge? Immerhin passen ja jetzt gerade einige ihre Adapter für den Admin-3 an.

      Warum die Aufregung?

      Wenn ich mir die Systemkonfiguration im Admin anschaue, sind alle Hinweisfelder zum Inhalt der Formularfelder OBERHALB angeordnet. Hübsch.

      7446_2018-07-12_23_43_45-oben.png

      Natürlich stehen bei anderen Adaptern die Hinweisfelder (deshalb?) konsequent UNTERHALB.

      7446_2018-07-12_23_47_28-unten.png

      Es geht aber auch basisdemokratisch GEMISCHT.

      7446_2018-07-12_23_45_59-malsomalso.png

      Oder auch ÜBERLAPPEND:

      7446_2018-07-12_23_48_29-uerlappend.png

      Aus diesem Grund hat bestimmt jemand die goldene Mitte als das einzig Richtige empfunden:

      7446_2018-07-12_23_58_12-mitte.png

      Na ja, vielleicht (bestimmt) ist das alles Kniefieselei und ich bin im Moment einfach schlecht drauf. Zu viel Kaffee und so. Im Grunde meines Herzens bin ich froh über jeden funktionierenden Adapter.

      Nur, falls ich jemals einen Adapter erstellen sollte, ist mir eines klar: Fast alle Optionen wurden schon getestet. Welche Alternative bleibt da für mich übrig…?

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Einerseits: LOL :-)) Cooler Artikel …

        Andererseits: Blöd und inkonsistant ... und ja einen Styleguide gibt es nicht wirklich 😞

        Wenn ich das so sehe brauchen wir mal mindestens ein "Best Practice" ...

        1 Reply Last reply Reply Quote 0
        • Jey Cee
          Jey Cee Developer last edited by

          +1 für einen Style Guide der verpflichtend ist.

          Der Guide sollte jetzt erstellt werden und nach fertig Stellung eine 1 Jahres frisst Laufen in der er Umgesetzt werden muss.

          Aber ich bin realistisch selbst wenn das Passiert werden die Adapter, die nicht angepasst werden nicht aus dem Repo gelöscht.

          Außerdem muss das dann auch für den Admin selbst gelten und die Funktionen die der Admin verwendet 1:1 für die Adapterkonfiguration zur Verfügung stehen.

          Stichworte: Auswahl Dialog(e), Tabellarische Darstellung, Normale Dialoge, Tooltips, etc.

          Vielleicht hat aber ja jemand Lust sich alle Adapter an zu Schauen und die Konfigurationen zu vereinheitlichen?

          Gesendet von meinem m8 mit Tapatalk

          1 Reply Last reply Reply Quote 0
          • D
            DeepCore last edited by

            Ich hatte mal einen Anlauf im Januar dazu versucht, aber keine Reaktionen darauf erhalten

            viewtopic.php?f=22&t=10893

            1 Reply Last reply Reply Quote 0
            • apollon77
              apollon77 last edited by

              Hey,

              von mir auch ein klares +1 … (jetzt wo diese Zusammenfassung oben etwas Augen-öffnend ist) 🙂

              @Jey Cee:

              +1 für einen Style Guide der verpflichtend ist.

              Der Guide sollte jetzt erstellt werden und nach fertig Stellung eine 1 Jahres frisst Laufen in der er Umgesetzt werden muss. `

              Da wird es schwieriger 🙂

              Was wir direkt tun können ist es verpflichtend für eine Repo-Aufnahme zu machen bzw im Rahmen der inzwischen meistens üblichen Adapter-Feedbacks auch geben. Meistens ist das ja simpel.

              Bzw wenn der Template-Adapter das Thema schon enthält, verlinkt und so halten sich ggf mehr Entwickler direkt dran.

              Für die ioBroker-Adapter wäre es super wenn einer das Thema treibt und es einfach macht. Für die über 100 Adapter sind gerade 2-3 Entwickler quasi zuständig und da kommen die ganzen strategischeren Themen noch dazu.

              Für alle weiteren Adapter sind die Entwickler auch über PRs happe und man kann Issues anlegen.

              Wenn man es sauber automatisieren könnte wäre das auch einfacher weil ich alle Adapter ausgecheckt habe, fürchte nur das ist zu blauäugig 🙂

              @Jey Cee:

              Aber ich bin realistisch selbst wenn das Passiert werden die Adapter, die nicht angepasst werden nicht aus dem Repo gelöscht. `
              Korrekt sehe ich auch so, ABER wir haben über http://download.iobroker.net/list.html# … =1&filter= einen Super Überblick über die Wichtigkeit von Adaptern und man kann das daher mit den ca. 15.000 aktiven Installationen vergleichen. Damit kann man sehr gut priorisieren wo man mit offneen/nicht bearbeiteten Issues leben kann oder wo man aus "startegischen" Gründen mit einem PR unterstützt 🙂

              @Jey Cee:

              Außerdem muss das dann auch für den Admin selbst gelten und die Funktionen die der Admin verwendet 1:1 für die Adapterkonfiguration zur Verfügung stehen.

              Stichworte: Auswahl Dialog(e), Tabellarische Darstellung, Normale Dialoge, Tooltips, etc. `

              Ack. Auch hier könnte noch mehr "wie baue ich Admin Konfig" Doku und Best practices für diesen UI Teil rausfallen wo alle Optionen beschrieben sind. Fehlt heute. Und ggf müssen noch Issues angelegt werden bestimmte Dialoge noch zu "ver-Admin3-en").

              @Jey Cee:

              Vielleicht hat aber ja jemand Lust sich alle Adapter an zu Schauen und die Konfigurationen zu vereinheitlichen? `

              … bzw allgemein Das Thema zu treiben.

              In meinen Augen wäre es:

              • Einen Vorschlag für ein Styleguide schreiben und im Entwickler-Forum posten (und übrigens wenn der Vorschlag heisst "machs wie Admin" dann ists auch ok, muss nicht viel sein - die ggf noch weiteren Themen und Edge-Cases kommen automatisch wenn man das Thema angeht).

              • Thematisches Tracking-issue anlegen (Projekt müssen wir noch entscheiden)

              • Nach Abstimmung mal überlegen wie man das in die Template-Adapter bringt und Dokumentiert

              • Dann priorisiert ein paar Adapter umstellen sodass man mal sieht was das für ein Aufwand ist und was ggf noch an "FAQ/Best-Practices" dokumentiert werden könne.

              • dann die Masse 🙂 (PS: Wenn man automatisiert erkennen kann das ein Adapter "falsch" ist dann ist das Issue anlegen bei mir schnell automatisch gemacht, das muss keiner manuell tun).

              Jetzt raucht man nur "man" 🙂

              Ingo

              1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 last edited by

                @DeepCore:

                Ich hatte mal einen Anlauf im Januar dazu versucht, aber keine Reaktionen darauf erhalten

                viewtopic.php?f=22&t=10893 `

                Hm … das ist wohl durchgerutscht und wäre definitiv mehr aufmerksamkeit sinnvoll gewesen bzw Anlegen von Issues ...

                ... und ja manchmal muss man mehrfach "Treten" bis eine Reaktion erfolgt 🙂

                1 Reply Last reply Reply Quote 0
                • Jey Cee
                  Jey Cee Developer last edited by

                  Ich hab schon vor längerem Angefangen einen Adapter zu schreiben der für die Adapter Entwicklung gedacht ist.

                  Mich hat es genervt das jeder irgendwas macht. Außerdem das man immer wieder die gleichen Schritte macht, die Zeit Kosten und Automatisiert werden können.

                  Fakt ist Stand heute ist das ganze bis jetzt ein besserer Template Customizer mit einem einfachen Editor, der alte aus dem JS Editor.

                  So etwas in der Art stand ja mal auf der Wunsch Liste.

                  Ich schwanke schon lange ob ich das Veröffentlichen soll oder nicht.

                  Alleine schaff ich es jedenfalls nicht das ganze soweit aus zu bauen das es als IDE für iobroker taugt.

                  Gesendet von meinem m8 mit Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • Meistertr
                    Meistertr Developer last edited by

                    Die unterschiedlichen Beschriftungen kommen imho daher, dass an der Darstellung im Admin in der Entwicklungsphase noch Änderungen vorgenommen wurden. Bei zwei Adaptern habe ich es direkt Nach dem Aufruf mit der Vorlage des Admins umgesetzt… Ein paar Versionen später hatte sich die Darstellung aber geändert. Also müsste ich es im Nachgang nochmal wieder ändern, dass ist aber bei vielen nicht passiert.

                    Für eine how to bin ich auch, auch mit einer Übersicht der nutzbaren Funktionen wäre auch super wie zb pop ups, Tabellen usw. Um eine Tabelle in die Config zu bekommen, die man ändern kann, hab ich bestimmt 3 Wochen rumprobiert.

                    Das Problem ist auch, dass die Config eher ein notwendiges Übel ist. Und die meisten sich im frontend Bereich nicht so sehr zurecht finden (bri mir zumindestens so)

                    Von daher von mir auch ein

                    +1

                    Gesendet von meinem Handy

                    1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 last edited by

                      Muss es wirklich eine IDE für Adapter-Entwicklung werden?

                      DIe Idee eines "Adapter-Generators" finde ich Bombe.

                      Man gibt den Namen an klickt sich die io-package-EInstellungen zusammen, sagt welche Parameter man erfassen will mit seinen Datentypen (inkl. Arrays und so) und kann dann konfigurieren wie das im Frontend ist und bekommt:

                      • package/io-package.json

                      • alle nötigen Files

                      • index_m.html vorbereitet ggf mit Übersetzungen oder wenigstens auch hier vorbereitet

                      • eine main.js als Template nur spezifischer auf das zusammengeklickte ausgerichtet

                      Das ganze als ZIP.Datei (oder halt auf dem lokalen Rechner in einem verzeichnis.

                      Das wäre eine soooooo große Hilfe als ersten Schritt. Aber damit ist schon viel vorbereitet für die Standard-Adapter-Fälle.

                      Dann hat jeder seine eigene IDE für alles weitere und so … Aber quasi ein "Adapter-basis-generator" wäre GEIL!!!

                      1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 last edited by

                        PS: Sowas muss auch kein Adapter sein … Auch ein Web-Wizard der dann eine ZIP Datei als Download ergibt wäre ne idee ...

                        Logik-technisch wäre ich sofort dabei ... aber die ganze UI und auch index_h.html generieren eher schwierig für mich 🙂

                        1 Reply Last reply Reply Quote 0
                        • Jey Cee
                          Jey Cee Developer last edited by

                          Ich lad das Ding am Wochenende mal auf Github hoch.

                          Gesendet von meinem m8 mit Tapatalk

                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 last edited by

                            Bin gespannt

                            1 Reply Last reply Reply Quote 0
                            • Stabilostick
                              Stabilostick last edited by

                              Na da habe ich ja was angestellt…. :roll:

                              Schade, das ich bis jetzt nix mit UI außer davor sitzen anfangen kann. Seufz.

                              1 Reply Last reply Reply Quote 0
                              • Jey Cee
                                Jey Cee Developer last edited by

                                Bitte erwartet nicht zu viel. Die Pläne sind gewaltig, aber genau so groß die Wissenslücken.

                                Außerdem fehlt mir gerade leider die Zeit zum Programmieren.

                                Gesendet von meinem m8 mit Tapatalk

                                1 Reply Last reply Reply Quote 0
                                • Bluefox
                                  Bluefox last edited by

                                  Eigentlich sollte es styleguide sein. Mindestens dachte ich dass eins gibt.

                                  Nun dürch die Änderungen, die MaterialCSS auch macht sind manche Beschriftungen nach unten gerutscht.

                                  Fakt list, die müssen oben sein und alles anderes ist Bug.

                                  Auch für Code gibt es Style Guide: Google JS Style.

                                  1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 last edited by

                                    Interessant … höre ich alles zum ersten mal :-))

                                    @Bluefox: Nicht hauen Bitte 😉

                                    Haben es halt nie enforced und wenn dann UI-Legasteniker wie ich an UIs rumpfuschen passiert sowas 😞

                                    1 Reply Last reply Reply Quote 0
                                    • Meistertr
                                      Meistertr Developer last edited by

                                      @Bluefox:

                                      Auch für Code gibt es Style Guide: Google JS Style. `
                                      Dann weiß ich nun was ich dringend mal lesen sollte..

                                      Edit: das ist aber ganz schön viel..

                                      Gesendet von meinem Handy

                                      1 Reply Last reply Reply Quote 0
                                      • AlCalzone
                                        AlCalzone Developer last edited by

                                        @Bluefox:

                                        Auch für Code gibt es Style Guide: Google JS Style. `
                                        2 Spaces indentation, ughhh :?

                                        Naja, ich hab meinen eigenen Style "Guide" für meine Libs & Adapter. Recommended-Einstellungen von TSLint + https://github.com/AlCalzone/ioBroker.tradfri/blob/master/tslint.json. Das wird dann auch schön automatisch vom Editor umgesetzt bzw. angemeckert.

                                        @Bluefox:

                                        Eigentlich sollte es styleguide sein. Mindestens dachte ich dass eins gibt.

                                        Nun dürch die Änderungen, die MaterialCSS auch macht sind manche Beschriftungen nach unten gerutscht.

                                        Fakt list, die müssen oben sein und alles anderes ist Bug. `
                                        Die Erfahrung hab ich auch gemacht bei einem Adapter. Da waren 1-2 Felder, die einfach nicht so wollten wie ich und anders aussahen als der Rest. Das hat schon 1h Google + etwas Tricksen gekostet bis alles normal aussah.

                                        1 Reply Last reply Reply Quote 0
                                        • AlCalzone
                                          AlCalzone Developer last edited by

                                          @apollon77:

                                          Muss es wirklich eine IDE für Adapter-Entwicklung werden?

                                          DIe Idee eines "Adapter-Generators" finde ich Bombe. `

                                          Könnte eine Erweiterung des template-adapters werden und so in die Richtung von create-react-app gehen. Eine Anwendung, die man einmalig z.B. per npx ausführt und aus verschiedenen Template-Schnipseln das nötigste zusammenbaut. Dann könnte man z.B. den normalen und den TypeScript-Template-Adapter zusammenführen.

                                          1 Reply Last reply Reply Quote 0
                                          • Bluefox
                                            Bluefox last edited by

                                            Bei Google Style Guide kann/muss man auch Ausnahmen machen. 4 Spaces als "indent" ist so eins.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            771
                                            Online

                                            32.0k
                                            Users

                                            80.6k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            24
                                            1860
                                            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