Wpis z mikrobloga

Wracając do tego wpisu: https://www.wykop.pl/wpis/32479435/-/

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
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jurix: do tego jeden plik - jedna klasa w 90% przypadków, są od tego pewne wyjątki, ale i tak, do tego pliki nazwa się tak samo jak nazwy klas, z zachowaniem również namespace jako katalogi
  • Odpowiedz
sqlinj? PDO rozwiązałoby całkowicie problem, to na pewno, ale wydaje mi się że każdy input na wejściu ma htmlspecialchars. To nie wystarcza?


@Jurix: przeciwko sqli korzysta się tylko i wyłącznie z bindingu parametrów i niczego więcej, niczego mniej
  • Odpowiedz