Aktywne Wpisy
![Anetkia](https://wykop.pl/cdn/c0834752/520ef4b6e72aaa9043139589e29084269624137f623f396faeb851d4ea8cb8b0,q60.jpg)
Anetkia +707
Jako kobieta rzygam już feminatywami. Jestem psychologiem a coraz częściej słyszę "czy psycholoszka już przyjmuje?" Jestem CZŁOWIEKIEM a nie człowiekinią, jestem gościem a nie gościnią. Jestem też OSOBĄ (rodz. żeński), mężczyzna powinien być "OSOBEM"? Do jakiej patologii to prowadzi.
#feminatywy #bekazlewactwa #logikarozowychpaskow #zalesie
#feminatywy #bekazlewactwa #logikarozowychpaskow #zalesie
![mirko_anonim](https://wykop.pl/cdn/c0834752/321ea7dc2985c2bfbf21a6b5598af7c3220625c6954fbbc0a440b525befed626,q60.png)
mirko_anonim +14
✨️ Obserwuj #mirkoanonim
Jestem szczery do bólu i moja różowa o tym wie a jednak ma pretensje. W rozmowie wyszło że jej powiedziałem, że jest z wyglądu przeciętna ale mi to nie przeszkadza bo ma dobre cechy. I ona teraz nie może tego przeboleć, mówi że to chyba nie ma sensu żebyśmy byli razem wtf. Sama dobrze wie że nie jest modelką wiec czego oczekuje, że będę mówił że jest?? Ja sie
Jestem szczery do bólu i moja różowa o tym wie a jednak ma pretensje. W rozmowie wyszło że jej powiedziałem, że jest z wyglądu przeciętna ale mi to nie przeszkadza bo ma dobre cechy. I ona teraz nie może tego przeboleć, mówi że to chyba nie ma sensu żebyśmy byli razem wtf. Sama dobrze wie że nie jest modelką wiec czego oczekuje, że będę mówił że jest?? Ja sie
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 np.
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 przetwarzać
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.createPlayer
w 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ć mechanizm zapisuWiem ż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 trzecim
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ę #!$%@?ą 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
Ad 7.
Tu nie powinno być żadnego dziedziczenia, tylko ewentualnie kompozycja. I przy okazji - w PHP klasa nie może dziedziczyć po kilku klasach jednocześnie.
Zdecydowanie nie.
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.
Nie. Jak wyżej opsane, robisz kompozycję
@Jurix: nie, w pracy należy spełniać PSR, zainwestuj w dobry edytor z integracją code sniffer