W ramach rozwijania się oglądam i czytam różne materiały. Następnie wiedzę z nich umieszczam w Anki oraz w notatkach i uzupełniam własnymi przemyśleniami.
Notatka
Materiał Od legacy do czystej architektury opowiada o tworzeniu oprogramowania w koncepcji czystej architektury. Wynotowałem z tego materiału:
- Czysta architektura to oprogramowanie, w którym nasza logika biznesowa jest niezależna od bazy danych, frameworków, interfejsu użytkownika. W jej centrum jest domena aplikacji, największa wartość biznesowa.
- Kończ rzeczy, ucz się na tym i bierz kolejną rzecz, aby ją skończyć i znowu się nauczyć czegoś. Przez kończenie rzeczy uczysz się i robisz kolejne rzeczy lepiej. Kończ rzeczy szybko i często. Rób krótkie pętle informacji zwrotnej.
- Mity refaktoryzacji:
- Trzeba mieć na to sprint – nie trzeba, refaktoryzację można robić cały czas.
- Trzeba mieć na to pozwolenie kierownictwa – nie trzeba, już je w sumie masz, jeżeli robisz zadania związane z utrzymaniem.
- Trzeba refaktorować całą aplikację – nie trzeba, można (a nawet należy) robić to krok po kroku.
- Nie ma na to czasu – ale jest czas na wprowadzanie usprawnień zmniejszających czas naprawy błędów i wdrażania nowych funkcjonalności.
- Trzeba robić tylko nowe funkcje – jeżeli nie musisz obsługiwać błędów i poprawek, to racja – nie Ty zajmujesz się refaktoryzacją legacy code.
- Zrobimy refaktoryzacje później – to później jest dziś, a często było wczoraj. Jutro nigdy nie nadchodzi, zawsze jest dzisiaj.
- Mamy nietechnicznego Product Ownera / Kieorwnika i nie rozumie refaktoryzacji – należy z ludźmi z kierownictwa rozmawiać ich językiem – językiem korzyści biznesowej.
- Refaktoryzacja jest stratą czasu i nie wnosi wartości dla biznesu – niektóre refaktoryzacje nie wnoszą nic do biznesu, więc są zbędne. Niektóre jednak wnoszą. Należy to umiejętnie pokazać.
- Refaktoryzacja służy do pozbycia się słabego kodu, a bardziej zmienieniu słabego w lepszy.
- Refaktoryzacja to:
- Nasza codzienna praca – zasada skauta – trochę popraw obecną sytuację. W każdej chwili próbuj trochę coś poprawić.
- Pracuj małymi kroczkami – zrób małą poprawkę i commituj to. Kod będzie już trochę lepszy. Łatwiej też robić refaktoryzację w małych krokach. Próbowanie zmienić wszystko na raz i wszystko od razu usprawnić kończy się zazwyczaj revertem wszystkich zmian.
- Nierobienie od razu ideału, lecz dążenie do ideału – zrób mały kroczek polepszający. Ideału i tak nigdy nie osiągniesz.
- Refaktoryzacja do czystej architektury:
- Krok 0 – poznanie obecnej sytuacji.
- Krok 1 – zrób testy.
- Krok 2 – zmień kod, aby był testowalny. Użyj np. tych przekształceń: extract function, change function declaration, replace control flag with break, replace control flag with exception, extract class.
- krok 3 – upiększaj.
- Jeżeli w kodzie masz śmietnik, to:
- Nie przepisuj, lecz refaktoryzuj (krok po kroku).
- Zastanów się nad procesem wytwarzania oprogrowania – dlaczego uzyskaliście w śmietnik?
- Popraw proces wytwarzania oprogramowania, aby osiągać czysty kod i piękną architekturę, a nie śmietnik.
- Refakturyzuj i poprawiaj.
- Rozbijaj refaktoryzację (i wszystko) na małe kroki.
Podsumowując:
- Działaj w małych krokach.
- Poprawiaj kod, aby był testowalny.
- Pisz testy.
- Poprawiaj kod (refaktoryzuj).
Wszystkie posty związane z notatkami z nauki:
- Notatka z nauki: Jak zarabia Lambda School?
- Notatka z nauki: Stop Bitching About Meetings and Fix Them
- Notatka z nauki: 5 dysfunkcji pracy zespołowej
- Notatka z nauki: Czy Twój biznes jest skalowalny?
- Notatka z nauki: Jak włamywaliśmy się do siedzib polskich firm? Zobacz ten film
- Notatka z nauki: Jak opisywać i archiwizować dokumenty, pliki, faktury
- Notatka z nauki: Jinkubator #38 – Clean Code – Tomasz Kucharski
- Notatka z nauki: Jak uwolnić czas – poznaj moich 6 sposobów
- Notatka z nauki: PyWaw #92 – Od legacy do czystej architektury
- Notatka z nauki: OKDM 253: Amazon KDP – 10 SPOSOBÓW na usprawnienie publikowania
- Notatka z nauki: Podcast “Nie Ma Biura“ – 17 przykazań o pracy
- Notatka z nauki: Jak połączyć pasję z zarabianiem pieniędzy
- Notatka z nauki: Wzorce projektowe w programowaniu | EduMarka
- Notatka z nauki: darmowych materiałów SmartTesting.pl
- Notatka z nauki: The Super Mario Effect: tricking your brain into learning more | Mark Rober | TEDxPenn
- Notatka z nauki: 4Developers Kraków 2019: Zwinnie czysta architektura, Michał Cisz
- Notatka z nauki: Jak ruszyć z własną firmą i nie popełnić błędów? Warsztat KROK PO KROKU na przykładzie Vecton
- Notatka z nauki: DISNEY – firma, która zbudowała POTĘŻNE IMPERIUM ROZRYWKOWE | Modele Biznesowe #004
- Notatka z nauki: Jinkubator #27 – Wzorce projektowe – Krzysztof Jelski
- Notatka z nauki: Boiling Frogs 2019 – Tomasz Kaczmarzyk – The Lasagne Industry
- Notatka z nauki: Boiling Frogs 2019 – Anita Przybył – Zmotywuj swój zespół
- Notatka z nauki: Boiling Frogs 2020 – Karol Kreft – Chcę wiedzieć co myślisz czyli rzecz o feedbacku
- Notatka z nauki: Boiling Frogs 2020 – Krzysztof Owsiany – Doświadczaj stresu — hakowanie prelegenta
- Notatka z nauki: Boiling Frogs 2020 – Tomasz Przybylski – Show me your test code and I tell you how production works
- Notatka z nauki: Boiling Frogs 2020 Ewelina Wyspiańska-Trojniarz Poczucie sensu kluczem do budowania motywacji wew.
- Notatka z nauki: Boiling Frogs 2020 – Marek Będkowski – Relatywizm Języków Programowania
- Notatka z nauki: Jak stać się lepszym programistą – czego nauczyłem się czytając Pragmatycznego programistę?
- Notatka z nauki: Boiling Frogs 2016 – Tomasz Kaczmarzyk – Mój pogląd na wytwarzanie oprogramowania
- Notatka z nauki: Boiling Frogs 2018 – Jacek Lange – “the i-word” czyli internacjonalizacja w praktyce
- Notatka z nauki: Boiling Frogs 2020 – Mateusz Budzar – Nie zgaduj
- Notatka z nauki: Boiling Frogs 2017 – Paweł Słomka – 100 postów w rok
- Notatka z nauki: Boiling Frogs 2019 – Mateusz Budzar – Wytwarzanie oprogramowania jest jak seks
- Notatka z nauki: Boiling Frogs 2017 – Anna Konopka – Jak nie zmarnować 8h za biurkiem?
- Notatka z nauki: Boiling Frogs 2018 – Jakub Kociubiński – Czego programista może nauczyć się od poligloty?
- Notatka z nauki: VISUALIZE VALUE – skuteczny model biznesowy AGENCJI MARKETINGOWEJ | Modele Biznesowe #005
- Notatka z nauki: Boiling Frogs 2017 – Sebastian Buczyński – Jak (nie) zostać leśnym dziadkiem
- Notatka z nauki: To TY masz swój biznes, czy biznes MA CIEBIE? (slowbiz offline by Maciej Aniserowicz)
- Notatka z nauki: Boiling Frogs 2017 – Sebastian Nowak – Czym skorupka za młodu… Czyli o szkoleniu młodzieży
- Notatka z nauki: Boiling Frogs 2017 – Grzegorz Sobczyk – Buzzwordy minionych lat – subiektywne odczucia
- Notatka z nauki: Boiling Frogs 2020 – Maciej Sławik – O pracy zdalnej dla firmy z zagranicy
- Notatka z nauki: Boiling Frogs 2018 – Krzysztof Rakowski – Dziel się wiedzą i buduj swoją markę
- Notatka z nauki: Boiling Frogs 2018 – Mateusz Budzar – Profesjonalny developer. Kto to taki?
- Notatka z nauki: Boiling Frogs 2017 – Jarosław Stadnicki – Czysty kod i czysty biznes
- Notatka z nauki: Jak zacząć wykorzystywać wiedzę w działaniu?
- Jak obniżyć koszty software’u dzięki inteligentnemu podejściu do testów? – Notatka z nauki
- TDD i testowanie jednostkowe – Notatka z nauki
- Agile & Architecture – Boiling Frogs 2017 – Jarosław Pałka – Notatka z nauki
- Utrzymywalne oprogramowanie – Sebastian Buczyński – Notatka z nauki
- Sztuka negocjacji – Andrzej Burzyński – Notatka z nauki
- Jak sprzedawać lepiej – Andrzej Burzyński – Notatka z nauki
- Jak skutecznie zarabiać – Notatka z nauki
- Testy wydajnościowe – Notatka z nauki
- Jak zarządzać firmą i zatrudniać – Notatka z nauki
- Rozmowy z miliarderem: Krzysztofem Jędrzejewskim – Notatki z nauki
- Jak zautomatyzować biznes? – Notatka z nauki
- Testy Konwencji – Maciej Aniserowicz – Notatka z nauki
- Jak lepiej występować – Notatka z nauki
- Kontrolowany chaos – Bartek Szulc – Notatka z nauki
- P&A + DDD + CQRS – Łukasz Szydło – Notatka z nauki
- Wzorce projektowe – Przemek Bykowski – Notatka z nauki
- Negocjacje są proste – Notatka z nauki
- Budżet domowy – Andrzej Burzyński – Notatka z nauki
- 10 sposobów abyś mniej nienawidził(a) spotkań – Notatka z nauki
- Jak pisać więcej? – Kamil Bąbel – Notatka z nauki
- Robotyzacja procesów biznesowych – Notatka z nauki
- Korzyści z robotic process automation (RPA) – Notatka z nauki
- Feature toggles – Marek Lewandowski – Notatka z nauki
- Modele mentalne – poznajzasadygry – Notatka z nauki
- Jak rozwinąć firmę? – Andrzej Burzyński – Notatka z nauki
- User story – Małe (User Story) jest piękne- Notatka z nauki
- Dostarczasz increment, czy ekskrement – Notatka z nauki
- Jak obniżyć koszty oprogramowania? – Notatka z nauki
- AI okiem sceptyka – Marek Będkowski – Notatka z nauki
- Testy oprogramowania – Ola Kunysz – Notatka z nauki
- Automatyzacja biznesu – Notatka z nauki
- Polyglot persistence – Wiktor Sztajerowski – Notatka z nauki
- Dependency Injection – Notatka z nauki
- Porządkowanie biznesu – Notatka z nauki
- Wyszukiwanie wizualne – Notatka z nauki
- Get it done and be happy – Notatka z nauki
- Syndrom oszusta – Anita Przybył – Notatka z nauki
- Przyszłość jest teraz – Notatka z nauki
- Pracując w software housie – Notatka z nauki
- Niezawodność języków programowania – Notatka z nauki
- Praca w zespołach rozproszonych – Notatka z nauki
- Dług techniczny – narzędzie profesjonalisty – Notatka z nauki
- From legacy to DDD – Notatka z nauki
- Jak testować? – Jakub Pilimon – Notatka z nauki
- 10 pomysłów na biznes MiroBurn – Notatka z nauki
- Jak psujemy IT? – Tomasz Dubikowski – Notatka z nauki
- O kodzie legacy – Michał Cisz – Notatka z nauki
- Test Impact Analysis – Bartosz Szulc – Notatka z nauki
- Onboarding – Sławomir Plamowski – Notatka z nauki
- O kolektywnej inteligencji – Notatka z nauki
- Pozytywistyczny developer – Michał Gruca – Notatka z nauki
- Uwolnię Twój Czas – Notatka z nauki
- Być liderem, być liderem – Notatka z nauki
- Podstawowe rzeczy – Notatka z nauki
- Retrospekcje – Michał Lewandowski – Notatka z nauki
- Czysty kod – Jakub Sikora – Notatka z nauki
Źródła
Obraz główny
Materiał
Sorry, there was a YouTube error.