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,
@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
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();,
@legolass: @mer: @MacDada: @ghost1511: @qwertyu: oto rezultat :) chociaż nie jestem pewny co do int $value w addBid, ponieważ w DB jest to DECIMAL(8,2)
@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
@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 ;)
@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!
Nie rozumiem :( public __constructor($pdo){}, no tak bo zdaje się, że jak nie jest podane to PHP samo ustawia public i trzeba ustawić. Dobrze rozumiem?
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
@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 ;)
aha wiem, że nie powinno być
select * from#pokazkod #php #programowanie
źródło: comment_Vw1OAUCMb5Ag0V0qYG3geyrPNG8crKgq.jpg
Pobierz@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,
A tak zdupnego argumentu jak ten o testach w życiu
0. Gratki za wstrzykiwanie PDO w konstruktorze i bidowanie parametrów SQL!
1. Zawsze deklaruj widoczność metod (także
publicdla konstruktora).2. Dorzuć typehinting parametru
$pdow konstruktorze.3. Pod koniec
addBid()wystarczyreturn (bool) $addBidQ->execute();, a właściwie wręcz tylkoreturn $addBidQ->execute();,chociaż nie jestem pewny co do int $value w addBid, ponieważ w DB jest to DECIMAL(8,2)
źródło: comment_Nh8l5t7RqebwMw6MfrCxUiDbZCIef1Qd.jpg
Pobierznie zadziała – chyba, że używasz już najnowszej wersji PHP7?
Tak czy siak, wygląda
Osobiście polecam tworzyć nazwy tabel w liczbie pojedynczej, ale to może moje przyzwyczajenie jeśli chodzi o orm
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 ;)
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!
Nie rozumiem :(
public __constructor($pdo){}, no tak bo zdaje się, że jak nie jest podane to PHP samo ustawia public i trzeba ustawić. Dobrze rozumiem?http://stackoverflow.com/questions/4410704/why-would-one-omit-the-close-tag
@NiktNieTroszczy: dzięki!
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
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 ;)