Sven Rautenberg: ohje

Beitrag lesen

Moin!

Tach!

Wenn ich als Leser von Code darüber nachdenken muss, ob die vielfältigen "Nebenwirkungen" von empty() eventuell vom Programmierer in Betracht gezogen wurden, oder aber die Gefahr besteht, dass sie unerwünscht sind, dann lese ich schlechten Code, der seine Intention nicht gut kommuniziert.

Wenn ich als Leser von Empfehlungen selbst nachprüfen muss, welche der vielen Pakete vom Empfehler in Betracht gezogen würden, oder die Gefahr besteht, dass ich ein unbrauchbares erwische, dann lese ich eine schlechte Empfehlung, mit der das eigenen Wissen nicht gut kommuniziert wird.

Wir bewegen uns, zumindest bei dem Beispielcode hier im Thread bzw. auch im Wiki, auf niedrigem PHP-Niveau mit ganz wenig OOP. Da kann ich kaum guten Gewissens \Zend\Form empfehlen (zu viele Abhängigkeiten, zu komplex für den Nichtnutzer der Zend-Komponenten. Dasselbe gilt für Symfony, Laravel, ...

Es gibt bei packagist.org außerdem zahlreiche Standalone-Bibliotheken, die man nutzen kann, beispielsweise siriusphp/validation.

Der erste Blick: "Grmpf! - Stringly typed!" Wenn Aktionen und Feldnamen nicht als Bezeichner sondern als Strings zu notieren sind, gehe ich Gefahr, dass ich mich unbemerkt vertippe. Ich muss die genaue Schreibweise erlernen, wissen oder nachschauen und kann sie nicht zeitsparend und fehlerreduzierend autovervollständigen lassen. Da ist mir ja fast noch empty() die größere Hilfe. Und die Tools meiner IDE (PhpStorm) können mir beim Refactoring nicht oder nur wenig behilflich sein, weil sie nicht wissen können, ob gleiche Strings die gleiche Bedeutung haben.

Alle Validator-Regeln sind als Konstanten in der Klasse \Siriusphp\Validation\Validator verfügbar. Für die Feldnamen bist du selbst als Entwickler verantwortlich. Und die einzelnen Regeln der Validierung implementiert man besser selbst in einer eigenen Klasse mit einem Namen, der dem Nutzungskontext entspricht, also beispielsweise "class UsernameLength extends AbstractValidator", anstatt dass man an jeder Stelle, wo man einen Usernamen validieren möchte, sich die einzelnen Parameter der Prüfung wieder kopiert.

Außerdem bist du mit deiner IDE kein Maßstab - jedenfalls dann nicht, wenn ich mir wie besagt den Code der Beispiele ansehe.

- Sven Rautenberg

0 66

Verbesserungen, Kritik, Meinungen

Paul
  • php
  1. 0
    Jörg Reinholz
    1. 0
      Paul
      1. 0
        ChrisB
        1. 0
          Paul
          1. 0
            Jörg Reinholz
            1. 0
              Paul
              1. 0
                Jörg Reinholz
                • programmiertechnik
                1. 0
                  Paul
                  1. 0
                    Jörg Reinholz
                    1. 0

                      Wir nähern uns dem Ziel? : )

                      Paul
                      1. 0
                        Jörg Reinholz
                        1. 0
                          Paul
                          1. 1
                            dedlfix
                            1. 0

                              php update

                              Paul
                              1. 0
                                dedlfix
                                1. 0
                                  Paul
                                  1. 0
                                    dedlfix
                                  2. 0
                                    Jörg Reinholz
                                    1. 0

                                      ohje

                                      Paul
                                      1. 0
                                        Jörg Reinholz
                                        1. 0
                                          Paul
                                          1. 0
                                            Jörg Reinholz
                                            1. 0

                                              Danke an dedlfix und Jörg Reinholz

                                              Paul
                                            2. 0
                                              Bobby
                                              1. 0
                                                Sven Rautenberg
                                                1. 0
                                                  dedlfix
                                                  1. 0
                                                    Sven Rautenberg
                                                    1. 0
                                                      Jörg Reinholz
                                                    2. 0
                                                      dedlfix
                                                      1. 0
                                                        Sven Rautenberg
                                                2. 0
                                                  Bobby
                                                  1. 0
                                                    Sven Rautenberg
                                                    1. 0
                                                      Jörg Reinholz
                                                    2. 0
                                                      Bobby
                                  3. 0
                                    Jörg Reinholz
                            2. 0
                              Jörg Reinholz
                              1. 1
                                Sven Rautenberg
                                1. 0
                                  Jörg Reinholz
                            3. 1
                              Matti Mäkitalo
                        2. 0

                          Kopfkino

                          Paul
                          1. 0
                            Jörg Reinholz
          2. 0

            Antwort II

            Jörg Reinholz
      2. 0

        sha1 ist tot.

        Jörg Reinholz
  2. 0

    NACHTRAG url

    Paul
    1. 0
      ChrisB
      1. 0
        Paul
  3. 0
    hotti
    1. 0

      speichern in $_SESSION

      Paul
      1. 0

        Objekt für die Userdaten

        hotti
        1. 0
          Paul
  4. 0
    Jörg Reinholz
    • selfhtml-wiki
    1. 0
      Matthias Apsel
      1. 0
        Jörg Reinholz
        1. 0
          Matthias Apsel
          1. 0
            Jörg Reinholz
    2. 0
      Matthias Apsel
    3. 0
      hotti
      1. 0
        Mitleser
        1. 0
          Jörg Reinholz
    4. 0

      Zu diesem Zweig: hier get es weiter (Link)

      Jörg Reinholz
    5. 1
      Christian Kruse
      1. 0
        Jörg Reinholz
        1. 0
          Christian Kruse
          1. 0
            Jörg Reinholz
            1. 0
              Christian Kruse