Aktywne Wpisy

MonazoPL +83
Ruszamy z nowym #rozdajo – wygraj kartę podarunkową do Allegro o wartości 100 zł!
Aby wziąć udział w konkursie, zaplusuj ten wpis oraz w komentarzu krótko odpowiedz na pytanie konkursowe: Jeśli wygrasz, na co wydasz (lub do czego dołożysz) to 100 zł? ( ͡~ ͜ʖ ͡°)
––––––––––––––––––––––––––––––
To OSTATNI MOMENT, by skorzystać z kozackiej oferty od banku Citi Handlowy – za zamówienie karty kredytowej (która może Cię kosztować okrągłe 0
Aby wziąć udział w konkursie, zaplusuj ten wpis oraz w komentarzu krótko odpowiedz na pytanie konkursowe: Jeśli wygrasz, na co wydasz (lub do czego dołożysz) to 100 zł? ( ͡~ ͜ʖ ͡°)
––––––––––––––––––––––––––––––
To OSTATNI MOMENT, by skorzystać z kozackiej oferty od banku Citi Handlowy – za zamówienie karty kredytowej (która może Cię kosztować okrągłe 0
źródło: Dyson mniej niz 20 sztuk
Pobierz
sikpi +6
Do bazy 200km, zasięgu 150km - dojadę czy nie dojadę? Dziad mówi że dojadę, ja myślę że nie i nawet chciałbym nie dojechać xD miałby za te swoje wyliczenia co do kilometra
#zycietruckera
#zycietruckera
źródło: 1000019039
PobierzDojadę?
- Tak 24.6% (42)
- Nie 75.4% (129)





Wydaje mi się, że wreszcie załapałem. Na ogół od od pisania kodu wolę opracowywać tok myślenia, jak kod ma działać, no ale klepać w klawiaturę też trzeba umieć.
Postanowiłem, że zrobię grę w kółko i krzyżyk w js/ajaxie/php/mysql. Asynchronicznie, dla odległych clientów, możliwość wracania do rozegranych meczy.
Cele jakie miałem pisząc ten kod: Opanowanie programowania zorientowanego obiektowo, nazywanie klas "co to jest, a nie jak wygląda", brak mieszania języków przy zmiennych i funkcjach (pl/en).
Rezultat: https://github.com/DawidJur/kolko-i-krzyzyk
Przy okazji wreszcie założyłem Gita, powoli uczę się go obsługiwać.
Rzeczy które mogłem zrobić lepiej:
- Na pewno kod nie jest idealny i jeszcze wiele pracy przede mną, jednak jak na pierwszy taki projekt czuję, że sporo mnie to nauczyło.
- Nie użyłem PDO (co planowałem), bo uznałem że byłoby to zbyt dużo nauki na 1 raz, przez co niektóre miejsca kodu są strukturalnie zamiast obiektowo.
- Brak jednolitych nazw metod/właściwości (czasem zaczynam z dużej, czasem z małej).
- Angielski trochę kuleje, Turn zamiast Move, pewnie jeszcze coś znajdziecie.
- Nie zaplanowałem sobie z góry jak skrypt ma działać, przez co wiele razy zmieniałem konwencje, wywalałem istniejące metody, zmieniałem kolumny bazy danych.
- Skrypt można doprowadzić do momentu gdzie 2 graczy może mieć to samo (kółko lub krzyżyk). Do 1 sesji może dołączyć więcej niż 2 osoby, jednak wynika to z powyższego.
- Front-end mógłby być lepszy, ale nie na nim się tym razem skupiałem. Ta mieszanka czystego js'a z jquery na pewno da Wam raka.
Tak więc drodzy programiści15k, z tego miejsca chciałbym prosić o wylanie na mnie konstruktywnego wiadra pomyj, co mogłem jeszcze zrobić lepiej, nad czym popracować?
#naukaprogramowania #programowanie #php #javascript #webdev
@Jurix: Zapoznaj się ze standardami PSR-1 i PSR-2. Nie chodzi o to, że popełniłeś błąd formatując tak a nie inaczej. Formatowanie wg standardów sprawia że kod pisany przez wiele osób wygląda spójnie i przejrzyście. Nie wiem w czy tam piszesz, ale sporo edytorów/IDE ma wtyczki które same pilnują ci takiego formatowania (np. podczas zapisywania pliku). Poza tym masz narzędzia do tego, jak
To co byłoby warto żebyś zmienił - rozbij to na pliki (jeden plik - jedna klasa) i użyj autoloadera. Dobra praktyka jest taka, żeby w jednym pliku albo coś definiować (klasy, funkcje, whatever) albo
No nie do końca. Do tego wystarczy że każdy w projekcie formatuje tak samo (a to ładnie i standardowo można ułatwić przy pomocy
editorconfig), nie musisz zaraz narzucać w tym celu konkretnego (i IMO niewygodnego) standardu z PSRek.createPlayerw parametrze powinna przyjąć dane gracza do utworzenia. Połączenie do bazy idealnie jest sobie podać do obiektu w konstruktorze i tam zapisać w obiekcie. W ten sposób możesz całkowicie zmienić mechanizmWiem że na frontendzie się nie skupiałeś, ale tu chodzi o sposób myślenia. Czasami stosuje się zasadę (DRY - Don't Repeat Yourself albo też Rule of three) że jeśli masz napisać coś drugi raz, to po prostu piszesz, ale przy
Co do wspomnianych PSRów, to są to z definicji jedynie rekomendacje (PHP Standard Recommendations), a nie must have. Najważniejsze, żeby w całem projekcie było spójnie. O ile format nazewnictwa klas, metod i zmiennych jest już właściwie standardem niezależnie od języka, to używanie spacji vs tabów, czy wspomniane nawiasy klamrowe w tej samej vs nowej linii, to już kwestia bardziej preferencji. Także co poniektórzy trochę p------ą od rzeczy.
1. Co do
@asciiterror: Racja, mogłem divy zrobić na pętli.
Nazwy metod i klas - następnym razem będzie lepiej, już rozumiem jak to należy robić.
To dziedziczenie move - miałem problem z dziedziczeniem 2 klas w game,
Ad 7.
Tu nie powinno być żadnego dziedziczenia, tylko ewentualnie kompozycja. I przy okazji - w PHP klasa nie może dziedziczyć po kilku
PHP nie może dziedziczyć wielu klas? W internecie piszą że należy to robić po przecinku, no ale nie działa. To normalne dla języków obiektowych typu C#, mam się do tego przyzwyczajać? W JS wiem że to możliwe, ale to nie jest normalny język, więc...
PHP 7.1 here.
@Jurix: Nie wiem, co masz na myśli przez "wywoływanie", ale chodzi o oddzielenie implementacji rzeczy, które nie są ze sobą bezpośrednio związane. Dalej przekazujesz jedne obiekty do innych jako zależności np. przez parametry konsturktora, najlepiej jako implementacje jakichś ogólnych interfejsów.
@Jurix: nie, w pracy należy spełniać PSR, zainwestuj w dobry edytor z integracją code sniffer