Moja nauka programowania || Tydzień 16 || Raport
📄

Moja nauka programowania || Tydzień 16 || Raport

notion image
 

Witam Cię ponownie!


Oczywistym filarem nauki programowania jest aktywne pisanie własnego kodu. Jak głosi przysłowie: "Aby pisać, trzeba pisać".

Niemniej jednak, nie można bagatelizować znaczenia umiejętności zrozumienia i analizy kodu stworzonego przez innych programistów. W niniejszym artykule pragnę podkreślić, dlaczego czytanie kodu jest kluczowym elementem procesu nauki, a także w jaki sposób wpływa na rozwój umiejętności programistycznych.

Jeśli aspirujesz do miana programisty-superbohatera, zacznij czytać kod!

 
notion image
 

Podglądaj "obcy" kod


Czytanie kodu jest jak podróż w różne obszary programowania. Gdy analizujemy kod innych, eksplorujemy odmienne podejścia i strategie rozwiązywania problemów. Porównywanie cudzego kodu ze swoim pozwala zauważyć różnice i zrozumieć, jakie elementy można poprawić lub zoptymalizować. To jak studiowanie dzieł mistrza dla artysty. Oczywiście jeśli masz pewność, że artysta wykorzystuje algorytmy zamiast pędzla 🖌️

 

Podpatruj dobrych praktyk


Analizując kod, nie tylko zwracamy uwagę na samą składnię, ale również na strukturę i organizację kodu. To pozwala nam zapamiętywać skuteczne mechanizmy i dobre praktyki programistyczne. Widząc, jak ktoś bardziej doświadczony rozwiązuje problem, uczymy się, jak efektywnie strukturyzować nasz własny kod.

 
notion image
 

Czytaj, gdziekolwiek zechcesz


Jedną z największych zalet tej metody nauki programowania jest jej elastyczność. Nie musisz siedzieć przed komputerem, aby się rozwijać. Dzięki możliwości czytania kodu na telefonie, czy tablecie, możesz korzystać z każdej chwili. Lecisz samolotem lub przemierzasz miasto autobusem? Super, to świetna okazja produktywne wykorzystanie czasu.

Ostatnio dokonałem zakupu tableta specjalnie po to, aby móc łatwo i wygodnie przeglądać kod w dowolnym miejscu. To moj prywatna mobilna bibliotka, dzięki której mogę zgłębiać tajniki programowania, siedząc odprężony na kanapie z filiżanką zielonej herbaty. Namaste 🫖

 

Analizuj kod metoda po metodzie


Czytanie kodu to nie tylko płytka analiza. Warto się zanurzyć w głąb programu, śledząc logikę krok po kroku. Przechodzenie przez metody i zrozumienie, jak są ze sobą powiązane, pozwala zobaczyć, co autor miał na myśli, projektując dany fragment kodu. To jak składanie puzzlu, gdzie każda metoda to kolejny kawałek większej historii.

 
notion image
 

Rozwijaj się przez refleksję


Czytanie kodu to również szansa na samorefleksję. Patrzenie na kod innych i porównywanie go ze swoim pozwala zidentyfikować obszary do poprawy. Widząc, jak inny programista rozwiązuje problem, możemy zastanowić się, czy istnieje bardziej efektywny sposób osiągnięcia tego samego celu.

Niedawno zakończyłem pracę nad miniprojektem konsolowej gry w warcaby. Teraz żałuję, że nie spojrzałem na kod moich kolegów z programu mentoringowego "Za Rączkę", w którym uczestniczę. Zamiast tego, przez dłuższy czas biłem głową o ścianę. Analiza, jak inni podchodzili do tego tematu, prawdopodobnie pomogłaby mi ukończyć ten projekt szybciej, bez zbędnych nerwów i frustracji.

 

Znaczenie czytania kodu w pracy programisty


Warto zdawać sobie sprawę, że umiejętność czytania kodu nie jest istotna jedynie na etapie nauki. Gdy staniemy przed wyzwaniami zawodowymi jako programiści, często będziemy mieli do czynienia z istniejącym już kodem. Pracując w zespole, będziemy analizować i współpracować z kodem kolegów i koleżanek.

W tej sytuacji brak zrozumienia kodu może być poważnym ograniczeniem. W pracy programisty nie tylko piszemy nowy kod, ale również modyfikujemy istniejący. Czytanie kodu członków naszego zespołu staje się nieodzowną umiejętnością, aby zintegrować nasze rozwiązania z już istniejącymi.

 
notion image
 

Podsumowanie


Czytanie kodu nie jest tylko narzędziem indywidualnego rozwoju, ale również kluczową umiejętnością, której brak może ograniczać efektywność w zespole programistycznym. Inwestycja w rozwianie tej umiejętności już na etapie nauki przyniesie korzyści nie tylko w tym okresie, ale także podczas przyszłej kariery zawodowej. Dlatego też, chcąc rozwijać się jako programista, zdecydowanie warto skupić się na tej często pomijanej, a jednocześnie kluczowej umiejętności.

 
notion image

Mój tygodniowy postęp


🚀 Concurrency Issues:

▪️java.util.concurrent package - done

▪️synchronized keyword - done

▪️race conditions - done

▪️deadlock scenario - done

▪️atomic variables - done

▪️compareAndSet( ) method - done

▪️immutable data - done

▪️ConcurrentModificationException - done

▪️CopyOnWriteArrayList class - done

 
 
notion image
 

Napotkane trudności


🚀 Generalnie rozumiem ideę synchronizacji danych, ale istnieje wiele scenariuszy, w których kwestia tego, jak unikać konfliktów, wydaje mi się jeszcze skomplikowana

🚀 Tym bardziej jeśli mamy doczynienia ze schematem wielowątkowości, gdzie pojawiają się atomic variables oraz operacje CAS

 
notion image
 

Narzędzia i materiały


🚀 Wspieranie się ChatemGPT

🚀 Head First Java Book 3rd Edition

 
notion image
 

Reflekcje i wnioski


🚀 Generalnie współbieżność jest trudnym działem w programowniu

🚀 Tamat będzie wałkowany niejednokrotnie, dlatego pokładam wielkie nadzieje w praktyce, dla lepszego zrozumienia tego zagadnienia

🚀 Nadal skupiam na czytaniu kodu innych programistów

 
notion image
 

Cele - kolejny tydzień


🚀 Programowanie

▪️Dodać prosty interfejs GUI do mojego kodu gry kółko/krzyżyk

▪️Skupić się na czytaniu kodu

🚀 Blog / marka własna

▪️Wpis na blog - 1 akapit dziennie

▪️Czwartkowa publikacja na LinkedIn

🚀 Szlifowanie skilli:

▪️Praca głęboka - minimum 2h dziennie

▪️Zasada 30% teorii / 70% pisania kodu

▪️Języki angielski/hiszpański

 
notion image

Śledź mnie na LinkedIn:


Mój IT Newsletter:


👋
Jeśli masz jakieś sugestie lub pytania, proszę napisz do mnie wiadomość: kuba@javampokaze.pl