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.
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.
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ć.
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.
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.
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
Prześlij komentarz