Z życia na kodach
To była moja pierwsza praca, chciałem się pokazać z jak najlepszej strony. Dosłownie stawałem na głowie, żeby doprowadzić tę aplikację do stanu, w którym moglibyśmy ją dalej rozwijać. Za cały problem winiłem “złą strukturę bazy danych”, jak to wtedy nazwałem. Zostawioną oczywiście przez poprzednika. Pamiętam to, jak dzisiaj. Wydrukowaliśmy wielki diagram ERD (gdzieś go choćby ostatnio znalazłem w szafie) i razem z kolegami nanosiliśmy poprawki. W końcu wyszła piękna 3. postać normalna, tak jak uczyli nas na studiach! Potem jeszcze refaktoring klas, usunięcie duplikacji wg. zasady (nie rób tak!) tylko jedna klasa reprezentująca realny obiekt w rzeczywistości. I oczywiście, adnotacje z ORM w stylu @OneToMany @ManyToMany, żeby wszystko połączyć referencją z obiektem User. Byłem z siebie dumny, ale… to nie rozwiązało naszych problemów. Z czasem robiło się coraz gorzej.
Modularność i reużywalnośc klocków lego uczy nas podejścia do architektury oprogramowania.
Co jest w architekturze najważniejsze
Wtedy jeszcze nie umiałem sobie odpowiedzieć na pytanie, co jest najważniejsze w architekturze oprogramowania. Oczywiście można powiedzieć, iż “to zależy” i nie minąć się z prawdą. Ale już dzisiaj mam na to swoją osobistą odpowiedź. Wyciągnął ją ode mnie Michał Cwiękała z AnatomiaKodu.pl. Naszą rozmowę o tym, czym jest architektura systemu i skąd się jej uczyć, znajdziesz poniżej. Ponadto dowiesz się:
- Co ma wspólnego komoda w sypialni z architekturą oprogramowania.
- Czy junior powinien uczyć się architektury? A może to wiedza tajemna tylko dla seniorów?
- Kiedy kasa, a kiedy doświadczenie?
- Jak w zrozumieniu architektury pomagają klocki LEGO?
- Gdzie znaleźć źródła do opanowania architektury?
Jeśli wolisz, jedynie wersję dźwiękową to znajdziesz nas też na popularnych platformach podcastowych. Kliknij i odsłuchaj na GOOGLE PODCASTS lub SPOTIFY. Ja sam podcasty słucham najczęściej podczas spacerów albo jeżdżąc na rowerze :)
Nie stawaj na głowie!
Ja się nieźle namęczyłem, Ty już nie musisz! Jesteś we adekwatnym miejscu. Teraz już wiem, na co zwracać uwagę projektując architekturę i jak nie powtarzać błędów, dzięki którym prawie każdy projekt prędzej czy później jest określany jako sławne “Legacy”. I całe ŻycieNaKodach jest po to, żebym mógł się tą wiedzą podzielić też z Tobą, i to właśnie teraz!
Zrób to już dzisiaj
Jeśli trochę już siedzisz w tych tematach albo zainspirowała Cię nasza rozmowa czy ten blog, to mam dla Ciebie coś jeszcze. Możesz już dzisiaj wykonać dwa pierwsze kroki w kierunku lepszej architektury Twoich projektów!
- Zapisz się na listę mailingową, gdzie prowadzę Cię krok po kroku przez praktyczne zadania z zakresu architektury aplikacji. KLIKNIJ TUTAJ, ŻEBY SIĘ ZAPISAĆ.
- W trakcie rozmowy polecaliśmy książkę Patterns, Principles, and Practices of Domain-Driven Design. Ciężko opisać co tutaj znajdziesz, to trzeba po prostu przeczytać :) Jak dla mnie jest to najlepsza pozycja o architekturze, DDD i podejściu do wytwarzania oprogramowania, jaką kiedykolwiek czytałem. Jeśli chcesz być świadomym programistą, który jest nie tylko klepaczem kodu, ale realnym partnerem dla biznesu… a chyba chcesz :) ? To ta pozycja jest dla Ciebie! Książka jest droga, ale to z pewnością dobra inwestycja. I na szczęście nie ma polskiego tłumaczenia, więc nie muszę Ci go odradzać :) KLIKNIJ TUTAJ I ZAINWESTUJ W SIEBIE (link afiliacyjny-coś z tego zakupu skapnie też dla mnie, cena dla Ciebie bez zmian). A najlepsza inwestycja, to właśnie inwestycja w siebie i swój rozwój.
Od tej książki zaczęła się moja prawdziwa programistyczna ewolucja. Po tych wszystkich latach dalej jest to dla mnie pozycja TOP1.