Wpis z mikrobloga

a co ty, to mały projekcik nie potrzebuje takich czarów


@sokytsinolop: Każdy tak mówi. A za rok ktoś zajrzy do projektu i nie będzie wiedział o co chodzi, bo mimo że klasa i metoda mówią co robią (to można wyczytać z kontektstu), to niekiedy nie wiadomo w jakim celu zostało to zrobione (jakieś hacki, dziwne przypadki).
Czasami się zdarza, że tym kimś jesteś Ty i wtedy przeklinasz samego siebie. Serio,
  • Odpowiedz
@legolass: Umiem napisać kod czytelnie? Umiem. Muszę zmieniać bzdurne komentarze, które za 3 dni będą nieaktualne po 7 mergach? Nie muszę. Utrudnia mi to pisanie kodu? Utrudnia - bo nie mogę sobie zrobić jebutnej metody na 30-40 linii i wytłumaczyć 'ona robi to, to, to i jeszcze to, a przy okazji tamto' - muszę poradzić sobie nazwami zmiennych i metod.

A tak zdupnego argumentu jak ten o testach w życiu
  • Odpowiedz
@sokytsinolop:

0. Gratki za wstrzykiwanie PDO w konstruktorze i bidowanie parametrów SQL!
1. Zawsze deklaruj widoczność metod (także public dla konstruktora).
2. Dorzuć typehinting parametru $pdo w konstruktorze.
3. Pod koniec addBid() wystarczy return (bool) $addBidQ->execute();, a właściwie wręcz tylko return $addBidQ->execute();,
  • Odpowiedz
@sokytsinolop: zmień nazwę klasy na BidRepositorium, usuń ?> z końca pliku. Metoda getBids nie powinna się nazywać getBid?
Osobiście polecam tworzyć nazwy tabel w liczbie pojedynczej, ale to może moje przyzwyczajenie jeśli chodzi o orm
  • Odpowiedz
@sokytsinolop: Jak już się czepiamy szczegółów to dodał bym jeszcze przerwy między metodami ponieważ nie widać co się gdzie kończy i gdzie zaczyna. I public przed konstruktorem.

Brakuje mi tutaj też przestrzeni nazw, która bądź co bądź wprowadza kontekst do całości ;)

Ogólnie bardzo dobrze i życzę każdemu żeby musiał pracować z takim kodem ;)
  • Odpowiedz
@NiktNieTroszczy: dlaczego usunąć ?> z końca?
Metoda zwraca w zależności 0, 1 albo kilka "bidów" także myślę, że getBids jest poprawne.
Dla mnie jakoś liczba mnoga jest logiczniejsza, ale ja jestem samoukiem także możliwe, że to nie jest do końca poprawne. Dzięki!
  • Odpowiedz
@sokytsinolop:

Jeszcze jedna rzecz - raczej nie błąd tylko temat do dyskusji

Zamiast w Bids trzymać dane bidów i użytkowników (avatar, username) możesz pomyśleć, żeby trzymać tylko dane bidów włączając uid (*) i jeśli chcesz dostać avatar to
  • Odpowiedz
@sokytsinolop: Tak ustawia domyślnie public, ale szczerze mówimy tutaj o dobrych praktykach. Jedną z nich jest właśnie podawanie zasięgu (to dobre określenie?) funkcji. Zwiększa to czytelność kodu.

A tak w ogóle kolego jak już jesteś na etapie zadawania takich pytań przeczytaj "Czysty kod", nawet jeżeli nie rozwieje wszystkich Twoich wątpliwości to pozwoli Ci wyrobić sobie zdanie na te tematy ;)
  • Odpowiedz