Przejdź do głównej zawartości

PHPers Summit 2018. Własne podsumowanie i podstawowy wachlarz programisty

W miniony weekend odbyła się konferencja PHPers Summit 2018.

Dla mnie pobyt na tej konferencji był mocno motywujący. Mogłem zobaczyć jak inni programiści i firmy się rozwijają. Skonfrontować czy rzeczy które szerzymy w naszej organizacji są dobre i czy idziemy w dobrą stronę.

Postanowiłem wybrać prelekcje z których przewidywałem, że nabyta wiedza może mi się przydać w pracy. Dlatego było dużo z jakości kodu, podejścia do legacy oraz architektury.

Wachlarz programisty 

Zaczęło się spokojnie, od prezentacji na temat Magento. W jaki sposób ten framework się rozwinął, od zaszłości takich jak obiekt Mage po obecnie dobre rozwiązanie jak Inerceptory - ten wzorzec został przedstawiony jako połączenie Proxy i Dekoratora, dzięki czemu Magento mogło pozwolić sobie na luźne powiązania pomiędzy bibliotekami.
Ciekawym przykładem też jest ich guide: "Programming Best Practices". Myślę, że każda organizacja powinna dążyć do stworzenia takiego miejsca.
Sporo było podstaw o których jednak programista powinien wiedzieć aby się rozwijać.
PSR oraz statyczna analiza kodu przy użyciu narzędzia SonarQube.
DRY i KISS nie trzeba nikomu przedstawiać. SOLID oraz GRASP, oraz problem z nazywaniem rzeczy - czyli jedna z tych dwóch problematycznych rzeczy w programowaniu, z którą się zwykle borykamy.

There are only two hard things in Computer Science: cache invalidation and naming things.
-- Phil Karlton

Odświeżyłem sobie również wzorce projektowe, część z Gang of Four, głównie podczas prezentacji Dawida Mazura - Strategy, Factory Method, Abstract Factory, Null Object, Observer, Value Object, Decorator, Command. To takie podstawy, które trzeba wykuć na blachę i wiedzieć kiedy stosować.

Na topie

Odnośnie wzorca Command, to był poruszany jeszcze w paru innych prezentacjach, w kontekście CQRS oraz Event Sourcingu.
Widać, że na rynku nadal jest duży boom na DDD, CQRS, BDD. Prawidłowo, ponieważ to się sprawdza w dynamicznym biznesie. No i bardzo ważny StranglerPattern, ponieważ legacy zawsze jest dużym problemem. 

Dużą ciekawostką dla mnie był AgnosticBundle, Agnostic Code (nie wiem jak to tłumaczyć), prezentowany przez Tomasza Kowalczyka. Chodzi o podejście pisania kodu domenowego bez zahaczania o framework. Może się sprawdzić jeśli np używamy Symfony i chcemy wprowadzić DDD - Repozytorium Doctrina nie będzie nam wtedy mieszało się z building blokiem DDD. 

Na miękko  

Z miękkich rzeczy o których wspominali prelengenci i o których warto zawsze przypominać:
o zasadzie skautów, o zachowaniu kontraktu czyli LSP z SOLID, o prawidłowym nazywaniu klas, obiektów, zmiennych. Oraz o tym, żeby robić w danej chwili tylko tyle ile potrzebujesz (YAGNI)- czyli takie agilowe MVP.

Komentarze

Popularne posty z tego bloga

Wydajność programisty i "uważność" w kodzie

Podczas biegu, nauczyłem się skupiać swoją uwagę na oddechu, na odpowiednim stawianiu kroków, co w naturalny sposób przekłada się również na moje wyniki. Jeśli wyobrażę sobie ciężkie łańcuchy przyczepione do ciała, zwolnię. Jeśli oczyszczę umysł, moje ciało będzie pracować jak silnik Toyoty. Ludzki umysł nie zastanawia się, czy to co mu serwujesz jest prawdziwe, nie ma tutaj żadnej walidacji. Dlatego sam musisz zadbać o to, jakimi myślami go karmisz. Zasada pierwsza - podejście do zadania.      Jeśli na początek tygodnia dostajesz duże zadanie,  to nie marnuj swojej energii na marudzenie o tym, jak ciężko Ci będzie - bo tak będzie i popłyniesz na parę dni, zanim otrząśniesz się z przeświadczeniem, że zmarnowałeś czas. Zamiast tego skup swoją uwagę na konkretach, weź ciężki młot jakim jest Twoje doświadczenie i uderz nim w ten wielki betonowy blok, niech się rozbije na kawałeczki - wtedy łatwiej Ci będzie unieść każdy z nich - tak jest, dziel zadanie na kawałk