Ankündigung

Einklappen
Keine Ankündigung bisher.

CodeSniffer Regeln

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CodeSniffer Regeln

    Hallo,

    nach meiner letzten Frage zu "Namenskonventionen" jetzt eine allgemeine Frage nach "Konventionen". Angeregt durch genannte letzte Frage habe ich mir mal die Zend Code Standards durchgelesen und finde fast alles gut! ;P

    Also habe ich beschlossen jetzt auch mehr auf die Code Qualität zu gucken und PHP_CodeSniffer regelmäßig drüber laufen zu lassen. Ich weiß aber nicht, welchen Sniffer ich benutzen soll. Zend finde ich ein wenig lasch, das zeigt mir kaum etwas an. PEAR finde ich schon besser, aber hier wird erwartet das ich auch Getter- und Settermethoden dokumentiere - das finde ich unnötig. Bei dem phpcs Sniff finde ich interessant dass bei schließenden geschweiften Klammern ein "// end fooBar()" erwartet wird. Dafür sollen hier Dateien mit nur einer Klasse die Endung .inc erhalten...

    Ich bin mir nicht sicher, was ich nehmen bzw. wie ich das entscheiden soll.
    Da ich mein nächstes Projekt gerne mit Zend programmieren möchte fände ich den Zend Standard nahe liegend, aber s.O.

    Deshalb meine Frage: Wie entscheide ich, welchen Standard ich nehmen soll?
    (Es gibt von der Firma/dem Chef - leider - keinerlei Vorgaben)

    Und, benutzt ihr solche Standards, wenn ja welchen und warum? Habt ihr euch selber welche geschrieben? Wie sind eure Erfahrungen?

    mfg
    d0ne

  • #2
    Du fragst uns, für was Du Dich entscheiden sollst? Was soll der Quark?!
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Nein, ich frage:
      Zitat von d0ne
      Wie entscheide ich, welchen Standard ich nehmen soll?
      Also, was sollte Einfluss auf meine Entscheidung nehmen. Soll ich warten, bis ich "Erfahrung" habe, oder möglichst früh "irgendeinen Standard" nehmen und dann gucken, "was passiert".
      Und ich frage:
      Zitat von d0ne
      Und, benutzt ihr solche Standards, wenn ja welchen und warum? Habt ihr euch selber welche geschrieben? Wie sind eure Erfahrungen?
      Wenn ihr einen Standard benutzt, wie ist euch damit ergangen?
      Bsp.: "den Standard XY würde ich nicht nehmen, weile da stört mich sehr, dass ..." oder "ich kann Standard XY empfehlen, da dort besonders [...], negativ ist mir allerdings [...] aufgefallen".

      Ich hoffe ich habe das jetzt verständlich erklärt.

      mfg
      d0ne

      Kommentar


      • #4
        Sorry, aber bestimmte Sachen muss man einfach ausprobieren. Das ist doch alles rein subjektiv.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          typos

          [QUOTE=nikosch;517993... Das ist doch alles rein subjektiv.[/QUOTE]

          Nicht alles:

          Zitat von d0ne Beitrag anzeigen
          ... Dafür sollen hier Dateien mit nur einer Klasse die Endung .inc erhalten ...
          PHP-Script-Dateien mit der Endung .inc zu versehen, ist eine dumme Idee. Lagern die auf einem Webserver, der .inc-Dateien nicht als ausführbar betrachtet, kann jeder den Quelltext herunterladen, was eher selten gewollt ist. Coding-Guidelines, die die Endung .inc vorschreiben, würde ich daher als wenig praxisnah ansehen.
          Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

          Kommentar


          • #6
            Meiner geht in die Richtung: https://gist.github.com/259578/d11fa...901c75a7f01e06 nicht ganz mit paar Änderungen, geht also in Richtung ZF-Coding-Guideline.

            Aber mit noch ein paar änderungen, sowohl kram dazu wie auch raus, muss sobald ich alles auf mein neues system migriert hab nochmal schauen.
            [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
            | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

            Kommentar


            • #7
              Zitat von fireweasel Beitrag anzeigen
              PHP-Script-Dateien mit der Endung .inc zu versehen, ist eine dumme Idee.
              Im Grunde hast du Recht und ich denke jedem Neuling würde ich es ähnlich erklären, aber wenn man ordentlich mit (OOP und MVC) programmiert dann sollte das Verzeichnis, in dem die Class-Dateien liegen - also die Dateien mit .inc als Endung - sowie nicht von außen zugreifbar sein.

              @robo47, ich werde mir das Mal angucken, bzw. ausprobieren!

              Um das mal zusammen zu fassen: Im Grunde muss ich selber ausprobieren und dann entscheiden, welchen Standard ich nehme/ welcher mir gefällt?
              Ich werde dann einfach mal ein Standards über meinen Code laufen lassen und gucken, wo "sinnvolle Warnungen" kommen.

              mfg & thx
              d0ne

              Kommentar


              • #8
                Also mit OOP und MVC hat das alles überhaupt nichts zu tun. Lustig, dass alle jetzt denken, MVC sei gleichbedeutend mit zeitgemäßem Programmieren, ohne überhaupt zu wissen, was das ist.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Ok, da habe ich mich wohl wieder nicht einfach/klar genug ausgedrückt...
                  aber wenn man ordentlich mit (OOP und MVC) programmiert dann sollte das Verzeichnis, in dem die Class-Dateien liegen - also die Dateien mit .inc als Endung - sowie nicht von außen zugreifbar sein.
                  Wenn ich richtig/ordentlich programmiere (z.B. mit OOP und/oder MVC) sollte sich automatisch eine entsprechende Ordnerstruktur ergeben (siehe z.B. das Zend Framework). Dort muss/darf der User dann "von außen" gar nicht auf die auf die Klasse-Dateien zugreifen und deshalb müssen die auch nicht - als Schutz für den Quelltext - geparst werden.

                  Ich hoffe ich habe das jetzt verständlich erklärt.

                  mfg
                  d0ne

                  Kommentar


                  • #10
                    Ist es. Nur stimmen die Aussagen nicht. Eine Ordnerstruktur sagt nichts über Dateiendungen aus, OOP oder MVC heißt noch lange nicht Framework und Framework heiß noch lange nicht, dass es Verzeichnisse ausserhalb des Doc Root verwendet. Durchweg gefährliches Halbwissen also.
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar


                    • #11
                      Zitat von nikosch Beitrag anzeigen
                      Eine Ordnerstruktur sagt nichts über Dateiendungen aus
                      Wo/Wann habe ich das behauptet!?
                      Zitat von nikosch Beitrag anzeigen
                      OOP oder MVC heißt noch lange nicht Framework und Framework heiß noch lange nicht, dass es Verzeichnisse außerhalb des Doc Root verwendet.
                      Auch diese Aussagen ist mir unbekannt!?

                      Zitat von nikosch Beitrag anzeigen
                      dass es Verzeichnisse außerhalb des Doc Root verwendet
                      Ein Verzeichnis muss nicht außerhalb des Doc Root liegen um zu verhindern, dass man von extern darauf zugreifen kann.

                      Ich habe in meine erklärenden Beitrag extra "z.B."s eingebaut, um zu verdeutlichen, dass ich weder eine Verbindung zwischen Ordnerstruktur und MVC/OOP noch zwischen "richtig programmieren" und MVC/OOP ziehen möchte.
                      Ich denke die Meisten (wenn nicht alle) der gängigen Architekturmuster ergeben als Nebenprodukt eine gute/organisierte Verzeichnisstruktur.
                      (Hier könnte ich jetzt wieder ein Beispiel stehen!)

                      mfg
                      d0ne

                      Kommentar


                      • #12
                        Sorry, aber zum Zeitpunkt meiner Antwort stand da noch etwas anderes..

                        [edit]
                        Ich denke die Meisten (wenn nicht alle) der gängigen Architekturmuster ergeben als Nebenprodukt eine gute/organisierte Verzeichnisstruktur.
                        Überhaupt nicht. Kein Muster sagt etwas über die Art aus, wie seine Implementierung verwaltet wird. Frameworks (Implementierung) tun das, Pattern (Design) nicht. Und auch OOP sagt nichts über die Umsetzung aus - als Programmierparadigma werden hier nur Syntaxvorgaben, keine (auch nicht implizite) Strukturvorgaben. Niemand hindert mich daran, alle meine Klassen und Interfaces in eine riesige, gemeinsame Datei zu schreiben. Du zäumst das Thema also von der komplett falschen Seite auf.
                        [COLOR="#F5F5FF"]--[/COLOR]
                        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                        [COLOR="#F5F5FF"]
                        --[/COLOR]

                        Kommentar


                        • #13
                          Nein,
                          ich habe nur zwei Klammern zur Verdeutlichung hinzugefügt, einen Großbuchstaben in einen Kleinbuchstaben geändert, sowie ein Wort entfernt, welches in diesem Kontext unnötig/grammatikalisch Inkorrekt war.

                          Ich denke aber, das jetzt alles zur Genüge erklärt wurde.

                          mfg
                          d0ne

                          [edit]
                          Zitat von nikosch
                          Überhaupt nicht. Kein Muster sagt etwas über die Art aus, wie seine Implementierung verwaltet wird.
                          Auch in diesen Fall ist das nicht die Aussage, die ich gemacht habe.
                          Ich schrieb:
                          Zitat von d0ne
                          Ich denke die Meisten (wenn nicht alle) der gängigen Architekturmuster ergeben als Nebenprodukt eine gute/organisierte Verzeichnisstruktur.
                          Wichtig ist hierbei "als Nebenprodukt", wenn ich mir Gedanken über ein Architekturmuster, werde ich mir wahrscheinlich(nicht zwingender Weise!) auch Gedanken über die Verzeichnisstruktur machen.

                          Kommentar


                          • #14
                            Falsch bleibt falsch. Pattern ("gängigen Architekturmuster") ergeben keine Verzeichnisstruktur. Auch nicht als Nebenprodukt! Von daher hast Du diese Aussage getätigt.
                            Erst die Implementierung eines Pattern bewegt sich im Bereich Dateien, Code und Ordner. Pattern sind Muster, also Denkmodelle, wenn auch mit Syntax-praktischen Standards.

                            [edit]
                            Die Relativierung der Aussage, macht diese auch nicht wahrer. Nur weil ich wahrscheinlich in einem Editor meinen Quellcode schreibe, heißt das auch nicht, dass PHP oder eine andere Programmiersprache vorschreibt, auf welcher Plattform, in welcher Software.. der Quellcode entsteht.
                            [COLOR="#F5F5FF"]--[/COLOR]
                            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                            [COLOR="#F5F5FF"]
                            --[/COLOR]

                            Kommentar


                            • #15
                              Ok, letzter Beitrag:

                              Ich gehe davon aus, dass wenn sich ein Programmierer um Gedanken, wie Architekturmuster, Design Pattern (s.U.) oder ähnlich Gedanken macht, wird er nicht seinen kompletten Code in eine Datei schreiben - auch wenn er es "kann"!

                              Vll. ist das aber nur meine Vorstellung und es wird so praktiziert.

                              Und, Entwurfsmuster (Design Pattern) != Architekturmuster.

                              mfg
                              d0ne

                              [edit]
                              Ich habe gerade dein Edit gesehen, aber ich möchte jetzt gar nicht mehr verstehen, wo jetzt der Zusammenhang zum Editor, bzw. Plattformen herkommt.

                              [edit2]
                              Meine Ursprungsaussage bezog sich übrigens nicht auf MVC/OOP, sonder auf "richtig/ordentlich Programmierung".

                              Kommentar

                              Lädt...
                              X