Ankündigung

Einklappen
Keine Ankündigung bisher.

Video Diskussion: Wieso man extends vermeiden sollte und was gibt es als alternative?

Einklappen

Neue Werbung 2019

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

  • #31
    Zitat von Anyone Beitrag anzeigen
    Ich bin da anderer Meinung. Wenn du beispielsweise dein Package anderen zur Verfügung stellst, dann kannst du nicht mal eben auf Zuruf das final entfernen.
    wenn das Package nur intern benuzt wird ist es was anderes. Im video habe ich ja erwähnt dass ich die Tests eines Kollegen zerschossen habe weil er meine Klasse abgeleitet hat und mir nichts gesagt hat. Wenn alles offen ist, hat man zu viele unbekannte unbekannte.

    Hier sind auch noch Slides von einem PHP UG Meeting in 2017 https://speakerdeck.com/tommymuehle/...ve-programming

    Ich hatte schlechte Erfahrung gesammelt und meine Meinung nach kann man die anderen Entwickler dazu "zwingen" mit dir zu sprechen. Vielleicht muss man ja nicht ableiten? Vielleicht reicht es wenn ich die Funktion in ein Trait auslagere und er kann das benutzen? Ohne den final zwang, entsteht keine Kommunikation und man macht eventuell blöde Dinge wenn man gerade in seinem Tunnel ist.
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

    Kommentar


    • #32
      Zitat von BlackScorp Beitrag anzeigen

      wenn das Package nur intern benuzt wird ist es was anderes. Im video habe ich ja erwähnt dass ich die Tests eines Kollegen zerschossen habe weil er meine Klasse abgeleitet hat und mir nichts gesagt hat.
      Stimmt, habe ich zwar nicht verstanden aber stimmt.

      Zitat von BlackScorp Beitrag anzeigen
      Wenn alles offen ist, hat man zu viele unbekannte unbekannte.
      naja, methodn und klassen tun nur das was sie sollen - bestenfalls.
      Unbekannte sehe ich hier nicht zwingend.

      Zitat von BlackScorp Beitrag anzeigen
      Ich hatte schlechte Erfahrung gesammelt und meine Meinung nach kann man die anderen Entwickler dazu "zwingen" mit dir zu sprechen.
      .

      eine selbstverantwortliche mündige person zu etwas zu zwingen, entspricht eben nicht meinem Menschenbild, und auch nicht dem wie ich gesehen werden möchte.
      was ihr intern macht legt die firmenrichtlinie fest, das sollte hier nicht der massstab sein.
      Entwickelt man für eine wie auch immer geartete open source gemeinde, sollte man den membern auch die möglichkeit geben mit dem eigenen code zu tun was diese eben wollen.

      Bei einem musst du halt vorher an alles denken, beim anderen erst wenn der Fall tatsächlich eintritt.
      auch das sehe ich anders, es kann mir als entwickler mehr oder minder egal sein, ob mekine klasse abgeleitet wird, und ich muss mir keine gedanken darum machen,
      was wie wieso warum,, weder vorher noch nachher.
      meine klasse muss nur konsitent funktional sein.

      der ableitende entwickler hat sich darüber gedanken zu machen.

      Kommentar


      • #33

        Zitat von tomBuilder Beitrag anzeigen
        auch das sehe ich anders, es kann mir als entwickler mehr oder minder egal sein, ob mekine klasse abgeleitet wird, und ich muss mir keine gedanken darum machen,
        so funktioniert das nicht, komischerweise sind alle immer der Meinung, DU hast die Klasse erstellst, also sorgst DU dafür dass sich da nichts ändert. Ansonsten musst DU dich mit den Tickets auseinadner setze. Aus dem Grund hat ja jetzt auch Wordpress auch sehr viele Klassen auf Final umgestellt. Klar kann man jetzt behaupten "Aber Wordpress Developer sind alle noobs" nicht destotrotz kam diese Entscheidung aus Erfahrung heraus.

        Zitat von tomBuilder Beitrag anzeigen
        was wie wieso warum,, weder vorher noch nachher.
        meine klasse muss nur konsitent funktional sein.
        konsisten ja, aber über einen Bestimmten Zeitraum nicht für immer. Jedoch das wird von einem Erwartet.

        Zitat von tomBuilder Beitrag anzeigen
        der ableitende entwickler hat sich darüber gedanken zu machen.
        Das wäre halt sehr schön. Es wäre auch schön wenn alle Menschen weniger Fleisch essen würden und Mehr Sport machen würden und sich um sich kümmern würden.. aber wie heißt es so schön, wäre wäre Fahhradkette (Qute von Lotar Mateus)

        meine Erfahrung mit den Klassen was bisher anders, auch auf github. Hätte ich die Gleiche Erfahrung wie du gemacht, wäre mein Video erst gar nicht entstanden.
        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

        Kommentar


        • #34
          Final sagt ja aus, dass diese Klasse fertig ist und nicht mehr bearbeitet / erweitert etc. werden soll. Dies macht insbesondere für interne Klassen Sinn, welche von Außen nicht mehr bearbeitet werden sollen. Ich nutzte dies z.B. gerne bei Utiliti oder DTO Objekten/Klassen, welche nur für einen ganz bestimmten Zweck gedacht sind.

          Kommentar


          • #35
            Zitat von BlackScorp Beitrag anzeigen
            konsisten ja, aber über einen Bestimmten Zeitraum nicht für immer. Jedoch das wird von einem Erwartet.
            Immer gibt es nicht in der IT, deswegen erwartet das auch niemand.
            In der "nicht PHP Welt" ist konsitentntes Verhalten von libs seit mehreren Jahrzehnten üblich, ich nehme an, das meinst du mit immer ?

            Zitat von BlackScorp Beitrag anzeigen
            Das wäre halt sehr schön. Es wäre auch schön wenn alle Menschen weniger Fleisch essen würden und Mehr Sport machen würden und sich um sich kümmern würden.. aber wie heißt es so schön, wäre wäre Fahhradkette (Qute von Lotar Mateus)
            was auch immer das damit zu tun hat.
            solange der Code von Dir nicht buggy ist, geht es Dich einfach nichts an,
            und ja, ich habe auch schon gesehen, dass developer andere für Ihre Unfähigkeit verantwortlich machen, nur ziehen diese sich den Schuh eben nicht an.


            sehr gut ausgedrückt @Zeichen32


            Kommentar


            • #36
              Zitat von tomBuilder Beitrag anzeigen
              was auch immer das damit zu tun hat.
              Ich glaube du willst einfach nur diskutieren ne? Das was du beschreibst, ist eine "Perfekte" Welt. Jeder Entwickler weiß wie Verebung funktioniert, er weiß dass er sich selbst um alles kümmern muss und wenn es ein Update gibt dann kümmert er sich selbst drum.

              Nur Perfekte Welt ist laut meiner Erfahrung nur Wunschdenken. Keiner will sich drum kümmern, wenn sich was in der Version verändert dann muss man fallbacks einbauen, man stellt eine Klasse zur Verfügung und wird anschließend geblamed "Es hat doch schon immer funktioniert, wieso jetzt nicht".

              In deiner Welt ist entweder alles Perfekt und du hast alles Offen. Das heißt dann für mich entweder niemand nutzt deine Klassen oder dich interessiert es nicht ob sich jemand beschwert nach du da was geändert hast. Oder du lebst in einer Perfekte Welt

              Zitat von tomBuilder Beitrag anzeigen
              solange der Code von Dir nicht buggy ist, geht es Dich einfach nichts an,
              Anforderung verändern sich über Zeit und man muss plötzlich zusätzlich Parameter in eine Methode einbauen, der Code ist nicht Buggy, nur halt anders. Und es geht einen Sehr wohl was, schließlich heißt es "Du hast ein Commit am xxx gemacht und seit dem Commit laufen meine Tests nicht"


              Wie ich bereits sagte, ich habe gewisse Erfahrung gemacht die mich dazu veranlassen, einfach alles Strikt zu definieren damit ich ganz genau weiß, so wie die Klasse da jetzt steht, wird die auch so verwendet. Wieso führen wir die Diskussion überhaupt? Ich verstehe deine Ansätze, hatte das vorher auch so gehabt, ist nichts Gutes rausgekommen, also habe ich mein Verhalten geändert, dadurch ist es besser geworden. Da das Thema "Defensive Programming" durchaus Öffters diskutiert wird, bin ich wohl nicht der Einzige der so denkt.
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

              Kommentar


              • #37
                Auf dein perfekte welt zeugs gehe ich nicht weiter ein.
                Wieso führen wir die Diskussion überhaupt?
                gut führen wir sie nicht mehr ...
                Da das Thema "Defensive Programming" durchaus Öffters diskutiert wird, bin ich wohl nicht der Einzige der so denkt.
                Leider hast Du wohl die von Dir verlinkten Slides nicht gelesen, mehr ist dazu auch nicht zu sagen.

                Schade, das bei dir immer mehr polemisierungen rauskommen, so kannte ich dich gar nicht.

                man lernt nie aus.

                Kommentar


                • #38

                  Zitat von tomBuilder Beitrag anzeigen
                  Leider hast Du wohl die von Dir verlinkten Slides nicht gelesen, mehr ist dazu auch nicht zu sagen.
                  Doch, aber scheint wohl dass ich da was anderes Interpertiert habe? Klär mich doch auf, bisher waren deine Aussagen halt nichts sagend, du erläuterst nichts frei nach dem Motto "Denk es dir doch".

                  Zitat von dir:

                  naja, methodn und klassen tun nur das was sie sollen - bestenfalls.
                  Unbekannte sehe ich hier nicht zwingend.

                  Warum? Ich habe dir erklärt WIESO ich da probleme sehe.

                  Zitat von tomBuilder Beitrag anzeigen
                  Schade, das bei dir immer mehr polemisierungen rauskommen, so kannte ich dich gar nicht.
                  Weil deine Aussage bisher war "Das ist Qautsch, du scrhänkst Potenzielle Entwickler ein und jeder Entwickler muss doch wissen was er tut und dem entsprechen handeln"

                  Darauf habe ich geantwortet "Das ist aber nicht meine Erfahrung"

                  Und du "Finde ich nicht". Ich habe Begründungen aufgeschrieben, meine Erfahrung geteilt.

                  apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                  Kommentar


                  • #39
                    Darauf habe ich geantwortet "Das ist aber nicht meine Erfahrung"

                    Und du "Finde ich nicht".

                    Beide Zitate kommen im dem Thread nur einmal vor , in #38.
                    Wenn Du nicht in der Lage bist, Gedanken Adäquat wiederzugeben, dann zitiere wenigstens richtig.

                    Kommentar


                    • #40
                      Zitat von tomBuilder Beitrag anzeigen


                      Beide Zitate kommen im dem Thread nur einmal vor , in #38.
                      Wenn Du nicht in der Lage bist, Gedanken Adäquat wiederzugeben, dann zitiere wenigstens richtig.
                      Das mit "Finde ich nicht" habe ich nicht Zitiert sondern wiedergeben was ich verstanden habe. Zitat war nur der Part

                      "
                      naja, methodn und klassen tun nur das was sie sollen - bestenfalls.
                      Unbekannte sehe ich hier nicht zwingend."

                      Das das so ausarten musste.. siehste es entsteht schon bei normalen Wörtern eine Misskomunikation, wie soll sowas dann in einer Klasse gut funktionieren?
                      apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                      Kommentar


                      • #41
                        Zitat von tomBuilder Beitrag anzeigen


                        Beide Zitate kommen im dem Thread nur einmal vor , in #38.
                        Wenn Du nicht in der Lage bist, Gedanken Adäquat wiederzugeben, dann zitiere wenigstens richtig.
                        Ich möchte hier weder mit dir noch sonsjemanden irgendwelche Diskrepanzen haben, desswegen fasse ich mal zusammen was ich alles Interpretiert habe, das wiederum zu unserem aktuellen Stand geführt hat.

                        in #13 hast du geschrieben

                        "traits zu nutzen um Vererbung zu umgehen, halte ich wie die meisten hier für suboptimal."

                        Meine Antwort, ich will nicht komplette Vererbung umgehen sondern unnötige Ableitungen rausnehmen.

                        in #18 hast du geschrieben

                        "Ich verstehe nicht, wieso Du da jetzt die paypal api als refferenz nutzt und auch nicht was das mit dem thema zu tun hat.
                        macht nichts."

                        Das ein Beispiel für eine Unnötige Ableitung und das es nichts mit Anfänger oder Profi zu tun hat


                        In #20 hast du dann geschrieben

                        "Was man sagen will ist in dem Kontext egal, was man sagt nicht; möglicherweise wird du das auch einmal verstehen.

                        Dass eine Auflistung von Negativbeispielen daran irgendwas ändert, oder gar irgend eine konkretisierung eines positiv beispiels erahnen lässt,
                        halte ich für sehr weit hergeholht."

                        Das war für mich der erste Trigger für "Finde ich nicht so" ohne Begründung oder Hinweise

                        Dann in #20 "So wie er es schreibt, ist das doch eher ein diffuses gefühl" War wieder unbegeründert, welche Stellen Zeigen dir denn dass es diffuse ist?

                        Dann hast du in #25 folgendes Geschrieben

                        "Die Macher von Pimple nehmen den Entwickler ernst.
                        Du bevormundest potentielle Entwickler mit dem final."

                        Schau dir Silex an https://github.com/silexphp/Silex/bl...pplication.php sofern Liskov Substitionsprinzip verstanden wurde, sollte man etwas Ableiten wenn es ein untertyp von dem Container wäre. Application ist aber kein Typ Container. Auch hier siehst du ein Beispiel von Potenziellen Entwicklern die wissen was die tun.


                        in #32

                        "Stimmt, habe ich zwar nicht verstanden aber stimmt."

                        wieder so eine Aussage auf die man Polemisch antworten kann. Dann erläutere ich. Ich hatte eine Klasse die eine Methode mit 2 Parametern hatte, ein Kollege hat es abgeleitet und ein Test geschrieben wo er intern diese Methode benutzt hat. Ich habe die Methode umgeschrieben mit einem weiteren Parameter, dadurch sit sein Test kaputt gegangen weil er den Parameter nicht übergeben hat.

                        Es ist darauf hinausgelaufen, dass ich den neuen Parameter als optional definieren musste und anschließend if null dann mach noch andere sachen (Fallback einbauen musste)


                        Ich diskutiere gerne und lerne gerne dazu. Aber bitte schreibe doch auch alles im Klartext. Wie gesagt, ich möchte keinen Streit haben und möchte einfach nur verstehen.
                        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                        Kommentar


                        • #42
                          Vorneweg, es macht wohl wenig sinn zukünftig mit dir zu diskutieren.

                          Zitat von BlackScorp Beitrag anzeigen

                          Ich möchte hier weder mit dir noch sonsjemanden irgendwelche Diskrepanzen haben, desswegen fasse ich mal zusammen was ich alles Interpretiert habe, das wiederum zu unserem aktuellen Stand geführt hat.
                          gut dann setze ich mich damit auseinader.

                          Zitat von BlackScorp Beitrag anzeigen
                          in #13 hast du geschrieben

                          "traits zu nutzen um Vererbung zu umgehen, halte ich wie die meisten hier für suboptimal."

                          Meine Antwort, ich will nicht komplette Vererbung umgehen sondern unnötige Ableitungen rausnehmen.
                          unnötige ableitungen sind per se unnötig.
                          in einem kurs macht es sicher sinn zu erklären wann und wo eine solche ableitung unnötig sein kann oder eben ist.
                          soetwas habe ich bei dir nicht gefunden, allerdings das immer wiederkehrende mantra mit dem final.
                          zudem sind deine vogel beispiele einfach unbrauchbar, was ich wohl so gezeigt habe.


                          Zitat von BlackScorp Beitrag anzeigen
                          in #18 hast du geschrieben

                          "Ich verstehe nicht, wieso Du da jetzt die paypal api als refferenz nutzt und auch nicht was das mit dem thema zu tun hat.
                          macht nichts."

                          Das ein Beispiel für eine Unnötige Ableitung und das es nichts mit Anfänger oder Profi zu tun hat
                          ob diese unnötig ist, historisch bedingt oder was auch immmer, spielt in dem kontext mE keine besondere rolle.


                          Zitat von BlackScorp Beitrag anzeigen
                          In #20 hast du dann geschrieben

                          "Was man sagen will ist in dem Kontext egal, was man sagt nicht; möglicherweise wird du das auch einmal verstehen.

                          Dass eine Auflistung von Negativbeispielen daran irgendwas ändert, oder gar irgend eine konkretisierung eines positiv beispiels erahnen lässt,
                          halte ich für sehr weit hergeholht."

                          Das war für mich der erste Trigger für "Finde ich nicht so" ohne Begründung oder Hinweise
                          ein trait ist me kein shortcut,

                          Es handelt sich um einen Zusatz zur traditionellen Vererbung und erlaubt horizontale Komposition von Verhaltensweisen, d.h. die Verwendung von Klassenmethoden ohne Vererbung vorauszusetzen.
                          https://www.php.net/manual/de/language.oop5.traits.php

                          und das irgendetwas (oft) flach benutzt wird, bedeutet eben nicht dass man es weglassen , sondern das man es richtig benutzen sollte.

                          Zitat von BlackScorp Beitrag anzeigen
                          Dann in #20 "So wie er es schreibt, ist das doch eher ein diffuses gefühl" War wieder unbegeründert, welche Stellen Zeigen dir denn dass es diffuse ist?
                          bitte dann zitiere ich eben, was ich in #22 (nicht #20 schon zitiert habe nochmal:
                          When I see a class that's not final, it feels to me like it's a very vulnerable class. Its internals are out in the open; people can do with it what they want, not only what its creator has imagined.
                          die gleichsetzung einer nicht las final deklaiereten klasse mit vulnarable ist streng gennomen polemik.
                          vulnarable steht in der IT für etwas anderes...


                          Zitat von BlackScorp Beitrag anzeigen
                          Dann hast du in #25 folgendes Geschrieben

                          "Die Macher von Pimple nehmen den Entwickler ernst.
                          Du bevormundest potentielle Entwickler mit dem final."



                          Schau dir Silex an https://github.com/silexphp/Silex/bl...pplication.php sofern Liskov Substitionsprinzip verstanden wurde, sollte man etwas Ableiten wenn es ein untertyp von dem Container wäre. Application ist aber kein Typ Container. Auch hier siehst du ein Beispiel von Potenziellen Entwicklern die wissen was die tun.
                          ja, die wissen was sie tun und warum, davon gehe ich aus.
                          es wird einen grund geben, wieso dies so ist und auch einen, wieso silex deprecated ist.
                          sollen wird bei dem thema:

                          wieso man extends vermeiden sollte
                          jetzt über silex diskutieren ?

                          Zitat von BlackScorp Beitrag anzeigen
                          in #32

                          "Stimmt, habe ich zwar nicht verstanden aber stimmt."

                          wieder so eine Aussage auf die man Polemisch antworten kann. Dann erläutere ich. Ich hatte eine Klasse die eine Methode mit 2 Parametern hatte, ein Kollege hat es abgeleitet und ein Test geschrieben wo er intern diese Methode benutzt hat. Ich habe die Methode umgeschrieben mit einem weiteren Parameter, dadurch sit sein Test kaputt gegangen weil er den Parameter nicht übergeben hat.

                          Es ist darauf hinausgelaufen, dass ich den neuen Parameter als optional definieren musste und anschließend if null dann mach noch andere sachen (Fallback einbauen musste)
                          Gut kannst Du nur polemisch drauf antworten.

                          classen als final zu deklarieren um die anzahl der argumente ihrer methoden ändern zu können,
                          an jedem punkt in der software, an dem die methode genutzt wird, fliegt sie einem um die ohren.

                          das wirklich ist das schwächste argument das du lieferst.

                          Kommentar


                          • #43
                            Zitat von tomBuilder Beitrag anzeigen
                            Vorneweg, es macht wohl wenig sinn zukünftig mit dir zu diskutieren.
                            Jeder hat mal schlechte Tage




                            Zitat von tomBuilder Beitrag anzeigen
                            unnötige ableitungen sind per se unnötig.
                            in einem kurs macht es sicher sinn zu erklären wann und wo eine solche ableitung unnötig sein kann oder eben ist.


                            soetwas habe ich bei dir nicht gefunden, allerdings das immer wiederkehrende mantra mit dem final.
                            Naja der Gedanke war eben, wenn wir im ersten Moment einfach nur final setze, ein sehr simple Regel. Kommen wir nicht automatisch in die Versuchung abzuleiten. Dafür hätten wir vor beim erstellen der Klasse eine "Hürde" das Final zu entfernen. Dadurch müssten wir uns dann zwangsläufig damit außeinander setzen und mal eben zwei Mal drüber nachdenken.

                            Es ist ja so dass wir immer den Weg mit dem Geringsten Wiederstand eingehen.


                            Zitat von tomBuilder Beitrag anzeigen
                            zudem sind deine vogel beispiele einfach unbrauchbar, was ich wohl so gezeigt habe.
                            Ok, gut, da hätte ein anderes Beispiel nehmen sollen, wie zb mit dem Essen. Mir ist halt nur zu dem Zeitpunkt nichts eingefallen.


                            Zitat von tomBuilder Beitrag anzeigen
                            ob diese unnötig ist, historisch bedingt oder was auch immmer, spielt in dem kontext mE keine besondere rolle.
                            Ich dachte eben schon, denn wenn damals die Klasse BaseModel als Final deklariert wurde, dann gäbe es eventuell diese Ableitung nicht, aber weil es so schön einfach war wurde die abgeleitet. Und das nur damit man das Objekt in ein JSON umwandelt.
                            Mit dem Beispiel wollte ich Zeigen, dass selbst die Besten auch nicht Gedanken machen.

                            Zitat von tomBuilder Beitrag anzeigen
                            ein trait ist me kein shortcut,


                            https://www.php.net/manual/de/language.oop5.traits.php

                            und das irgendetwas (oft) flach benutzt wird, bedeutet eben nicht dass man es weglassen , sondern das man es richtig benutzen sollte.
                            Ist es nicht, es ist einfach eine eventuell bessere Alternative, aber nicht für ALLE Fälle, die meisten Fälle.

                            Zitat von tomBuilder Beitrag anzeigen
                            bitte dann zitiere ich eben, was ich in #22 (nicht #20 schon zitiert habe nochmal:


                            die gleichsetzung einer nicht las final deklaiereten klasse mit vulnarable ist streng gennomen polemik.
                            vulnarable steht in der IT für etwas anderes...
                            Sorry mein Fehler, überlesen

                            Zitat von tomBuilder Beitrag anzeigen
                            ja, die wissen was sie tun und warum, davon gehe ich aus.
                            es wird einen grund geben, wieso dies so ist und auch einen, wieso silex deprecated ist.
                            sollen wird bei dem thema:



                            jetzt über silex diskutieren ?
                            Du musst aber bedenken dass der Author von Silex sogar ein Buch herausgebracht hat, klar ist es jetzt deprecated, es ist halt eben nur ein weiterer Beispiel der hätte besser gemacht werden können, wenn da final im Pimple Container wäre.
                            Ich habe schon 2 Beispiele gezeigt, ich wette wenn ich im Zend Framework oder Laravel ein wenig Recherchiere, finde ich immer wieder solche exends die einfach nur Unnötig sind.

                            Das Final ist ja nicht in stein gemeiselt, sollte nur vor leichtsinnigen extends abhalten.




                            Zitat von tomBuilder Beitrag anzeigen
                            classen als final zu deklarieren um die anzahl der argumente ihrer methoden ändern zu können,
                            an jedem punkt in der software, an dem die methode genutzt wird, fliegt sie einem um die ohren.
                            Das war ja das Problem, die Stellen, wo ich wusste dass mich meine eigen Klasse verwende, die habe ich angepasst damit meine Tests durchlaufen, die von meinem Kollegen hatte ich nicht auf dem Schirm weil ich nicht mal auf die Idee gekommen bin dass die Klasse mal abgleitet wird, und weil extern meine Klasse benutzt wird und andere keine Zeit hatten auf neue Version umzustellen, musste ich weitere Unnötige Logik in meine Methode einbauen, die ich dann irgendwann auch wieder aufräumen muss.


                            Sorry, noch mal, ich hatte wohl anscheinend einfach nur ein schlechten Tag, das nächste Mal werde ich eine Nach drüber schlafen bevor ich eine Antwort gebe.


                            apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                            Kommentar


                            • #44
                              Zitat von BlackScorp Beitrag anzeigen
                              Jeder hat mal schlechte Tage
                              ich gestern bspw.

                              Ich zitiere mal nicht alles immer ind gehe mal nicht auf alles ein, kannst ja nachfragen, wenn ,mein punkt irgendwie unklar ist.

                              Siulex/Pimple

                              zum ersten benutzen eines Franmework isrt es sher einfach allen in $app zu haben, ich verstehe was die Macher damit wollten.
                              die hürde zu verstehen was eigentlich ein container und was eine app ist, ist allerdings relativ gross; mich hat das zeit gekostet, damals.

                              symfony-flex macht zudem ein mikroframework unnötig, von den selben entwicklern, denken diese jedenfalls.
                              ich bin auf slim umgestiegen, als mikroframework -- hätte ich das mal früher gemacht.

                              Fabien Potencier traue ich zu genau zu wissen was er tut, wenn er dinge "unnötig" und "falsch" anwendet.

                              (..)die Stellen, wo ich wusste dass mich meine eigen Klasse verwende,(..)
                              das ist wirklich ein seltener fall,
                              in der opensource gemeinde und bei packages kann man soetwas nicht mehr herausfinden, das sollte der benutzer und nicht der entwikler tun, dafür gibt es changelogs und deprecated warnungen .

                              Ich verstehe jetzt mehr, wieso das bei Euch in der Firma so ist, halte das aber umso mehr für kritisch, wenn man für die opensource gemeinde entzwicklet.

                              Kommentar


                              • #45
                                Zitat von tomBuilder Beitrag anzeigen


                                symfony-flex macht zudem ein mikroframework unnötig, von den selben entwicklern, denken diese jedenfalls.
                                ich bin auf slim umgestiegen, als mikroframework -- hätte ich das mal früher gemacht.

                                Fabien Potencier traue ich zu genau zu wissen was er tut, wenn er dinge "unnötig" und "falsch" anwendet.
                                Ja Fabien hat auch Ahnung von, desswegen gibt es ja den MicroKernelTrait

                                https://symfony.com/doc/current/conf...nel_trait.html

                                für mich ist es halt nur noch eine weitere Bestätigung, dass man eher auf Trait als auf extends zugreifen muss. Du hast da halt immer noch die Möglichkeit den Trait nicht zu nutzen und stattdessen deine Methode zu verwenden, schütz dich selbst dadurch auch, denn du weiß nie was der Entwickler mit der Basis Klasse so anstellt.


                                apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                                Kommentar

                                Lädt...
                                X