Wpis z mikrobloga

#php #programowanie

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ę
  • 12
@Nexiu: czytaj projekty, wybieraj to co ci się podoba i na tym oprzyj swój gust. Czysty kod według mnie nie prowadzi do dobrego kodu. Jak dla mnie to do dobrego kodu prowadzą takie praktyki:
* 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
* dobra
via Android
  • 1
Na przykład teraz kończę Job'a odpowiedzialnego za adresowanie przesyłek przy pomocy wspomnianego wcześniej projektu co mi się tak spodobał, to nie wiem czy na studiach bym za to dostał +2, pomimo, że mi działa i robi co chce :-P

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
Nexiu - Na przykład teraz kończę Job'a odpowiedzialnego za adresowanie przesyłek przy...

źródło: zlykod

Pobierz
via Android
  • 0
@mariecziek te polskie zmienne to nie mój (no dobra, z wyjątkiem zmiennej poczta) , ale tylko dlatego, że kod z GH używa Polsko-angielskich nazw zmiennych, ogólnie to często widzę to w projektach rozwijanych lata (a tu akurat mowa o e nadawcy poczty polskiej co jest na rynku od ponad 13 lat)
@Nexiu: kilka zasad którymi się kieruję i mnie jeszcze nie zawiodły:

- 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
@Nexiu: Moje kilka spostrzeżeń, na bazie tego z kim, co i jak do tej pory robiłem. Dodam, że jestem tylko studentem i z takimi ludźmi miałem do czynienia - nie pracuję jako programista.
- 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
- Nie wyodrębniam kodu do osobnej funkcji, jeżeli nie użyłem go więcej niż 2 razy.


@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ć
@Krolik: Mój błąd, nie doprecyzowałem tutaj ( ͡° ʖ̯ ͡°) Oczywiście jak kod zaczyna być zbyt skomplikowany i ciężko się go czyta to lepiej rozdzielić, chodziło mi o to, że spotykałem się też z funkcjami zawierającymi 1-3 linijki bardzo prostego kodu, którego wydzielenie bardziej komplikowało sprawę, a dalsza użyteczność była zerowa.