Aktywne Wpisy
![cichy-spokojny-grzeczny](https://wykop.pl/cdn/c0834752/ee44e137928affd8f1e14b7a023aba54a12126cc65e14ff2d7ae750d3e25084f,q60.jpg)
Co sądzicie o takiej skodzinie? Szwagier mówi, żeby wziąć jednak Karoka bo większy, ale mnie się wydaje że to starsza konstrukcja.
#motoryzacja #samochody #skoda #pokazauto
#motoryzacja #samochody #skoda #pokazauto
![cichy-spokojny-grzeczny - Co sądzicie o takiej skodzinie? Szwagier mówi, żeby wziąć j...](https://wykop.pl/cdn/c3201142/f89e8bc32f48ceeae6f0f7888b928a54b37e1495bfd11abe046d5bb9404bd743,w150.png)
źródło: Screenshot from 2024-07-06 18-41-20
Pobierz![mirko_anonim](https://wykop.pl/cdn/c0834752/321ea7dc2985c2bfbf21a6b5598af7c3220625c6954fbbc0a440b525befed626,q60.png)
mirko_anonim +10
✨️ Obserwuj #mirkoanonim
Mirki... potrzebuje wsparcia.
Ale od początku:
Akt I
Wziąłem ślub z kobietą, którą kochałem. Dwa włoskie charaktery, częste kłótnie ale jakoś zawsze to było. Zawsze się pogodziliśmy, chociaż ona lubiła rozdrapywać rany i wyciągać brudy sprzed lat.
Mirki... potrzebuje wsparcia.
Ale od początku:
Akt I
Wziąłem ślub z kobietą, którą kochałem. Dwa włoskie charaktery, częste kłótnie ale jakoś zawsze to było. Zawsze się pogodziliśmy, chociaż ona lubiła rozdrapywać rany i wyciągać brudy sprzed lat.
Polecicie cos poza 'Czysty Kod' do nauki pisania ładnego obiektowego kodu?
To co pisze to niby robi to co chce, ale wygląda znacznie inaczej od tego jakbym chciał żeby wyglądało... Dziś pobralem z gh paczkę do API poczty polskiej i to tam jest wszystko tak ładne i poukladane, że aż zazdroszczę
* immutability gdzie się da, zwłaszcza na poziomie interfejsów
* dobra modularyzacja, ograniczenie połączeń pomiędzy modułami
* zero globali
* myślenie o koszcie wprowadzenia abstrakcji np. zamiast przepychać fabrykę zazwyczaj dużo prościej jest przepchać interfejs
*
w pierwszej kolejnosci to ktos w ogole kiedykolwiek polecal czysty kod nieironicznie? xddd
Co do CK, to kilkanaście razy mi się na yt na różnych polskich kanałach nawinął, ale nie mogłem jakoś nigdy pokonać pierwszych 30 stron.
I dzięki @Saly że chciało Ci się pisać.
Niestety, jako samouk to nie ma mi kto nawet za bardzo zrobić code review, co z tego, że mam świadomość, że to co robię nie jest dość dobre, jak tylko powielam swoje złe
źródło: zlykod
Pobierzpoczta
pasuje tam jak pięść do nosa.- Starać się nie mieszać zupełnie różnych odpowiedzialności / funkcjonalności w jednym miejscu - budować kod z prostych klocków, na tyle prostych że każdy można ogarnąć bez konieczności rozumienia jak działają inne. Dodatkowy efekt uboczny to łatwiejsze testowanie. Przykładowo: kod obliczeniowy nie powinien robić we/wy i nie powinien w ogóle musieć wiedzieć jak będzie formatowane wyjście i wyjście.
- Komponenty realizujące jakąś jedną funkcję systemu trzymać blisko siebie. Oznacza to, że w przypadku klasycznego weba w jednym pakiecie będzie kontroler, DTO, DAO, widok itp, a nie osobne pakiety na każdą warstwę. Ciacham system pionowo a nie poziomo. Analogicznie jeżeli jest gdzieś kodowanie danych to dekodowanie musi być blisko, najlepiej nawet w tej samej klasie/module. Dzięki temu zmiany można ograniczyć często do jednego pakietu. To taki odwrotny SRP.
- Nie robić funkcjonalności “na przyszłość” a szczególnie nie starać się zgadywać jakie będą zmiany. Jak będzie konieczność zmiany to zrobi się wtedy.
- Zrozumiałość i prostota kodu jest ważniejsza niż rozszerzalność. Lepiej zmodyfikować prosty i konkretny kod w pięciu miejscach niż dopisywać nowy kod do przekombinowanej fabryki
- Wiele osób robi błąd na zasadzie tworzenia dodatkowej zmiennej/referencji do jakiejś wartości np. podanej jako argument funkcji, albo wynik działania innej funkcji tylko po to, żeby później użyć tego dokładnie jeden raz, przez co dany blok kodu zawiera często 10+ linijek, które da się skrócić do 4-5 ¯_(ツ)_/¯
- Nie wyodrębniam kodu do osobnej funkcji, jeżeli nie użyłem go więcej niż 2 razy.
- Nie do końca mam wiarę w siebie oraz innych kiedy mówią, że wystarczy popatrzeć na kod i zrozumiem wszystko bez komentarzy/dokumentacji. Tak jak mówi @Krolik - komentować ile wlezie, ułatwi to pracę wszystkim łącznie z tobą samym, jak będzie trzeba do czegoś wracać.
- Jako, że #php to polecam używać typów zmiennych w argumentach funkcji oraz ewentualny typ zwracany jeżeli jakikolwiek występuje.
- Nie stosować w 100% Clean Code, bo można narobić więcej szkód niż dobrego, szczególnie w małych aplikacjach. SRP jest zawsze mile widziane, ale trzeba zorganizować swój kod tak, aby nie okazało się że musimy przebrnąć przez 8 funkcji w 5 różnych klasach aby dowiedzieć się jak coś działa, trafiałem na takie potworki i miałem szczerze mówiąc
@Pieczu666: A to jest na ogół błąd. Wyodrębnienie funkcji nie powinno być na podstawie tego ile razy jest użyta, tylko na podstawie tego, czy istnienie funkcji upraszcza kod z którego jest wywołana. Tzn. jeśli łatwiej jest zrozumieć sygnaturę + opis funkcji niż jej implementację, to należy wydzielić.
Ponadto wydzielenie kodu do funkcji czasami pozwala czasem uprościć samą implementację tego wydzielanego kodu. Przykładowo wewnątrz małej funkcji może się okazać, że możesz wykorzystać early return, natomiast dopóki ten kod jest inline z pozostałym kodem, to nie