• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

HTML5 Canvas Snake

VPS Starter Arubacloud
+8 głosów
558 wizyt
pytanie zadane 25 lipca 2016 w Nasze projekty przez goran. Użytkownik (930 p.)

Cześć,
chciałbym wiedzieć,co myślicie o moim projekcie.Jest to moja pierwsza gra w HTML5.W szczególności prosiłbym o ocenę kodu JS pod względem stylu,czystości i dobrych praktyk.Poza tym piszcie,jeżeli macie jakiekolwiek uwagi.
 

Repozytorium

Tu można zagrać

3 odpowiedzi

+2 głosów
odpowiedź 25 lipca 2016 przez Comandeer Guru (599,730 p.)
  • Prawdę mówiąc dawno nie widziałem module pattern. Obecnie używa się prawdziwych modułów (ES6 kompilowanych do UMD/AMD).
  • Zamiast namespaces pomyślałbym o przepisaniu tego na obiekty
  • Za dużo let. Raczej używa się const.
  • Brak konsekwencji w kodzie. Nagle ni z tego ni z owego pojawia się wyrażenie funkcyjne zamiast normalnej funkcji. Tak samo let/const: deklaruj w jeden sposób (osobne słówko dla każdego jest preferowane).
  • Planszę lepiej odświeżać przy pomocy requestAnimationFrame zamiast setTimeout.
komentarz 25 lipca 2016 przez goran. Użytkownik (930 p.)

Dzięki za odpowiedź.

  1. Czyli powinienem używać modułów z ES6 + np. Babel?Z tego co wiem jeszcze żadna przeglądarka nie obsługuje składni modułów z ES6.
  2. Używałem namespaces,bo wydawało mi się,że w ten sposób moduły będą lepiej zabezpieczone.
komentarz 25 lipca 2016 przez Magicone Nałogowiec (45,100 p.)

To ja się dołączę, trochę purystycznie:

  • Konkretne elementy łap po atrybucie id, nie klasach.
  • Unikaj niekoniecznych wcięć tego typu, zamiast tego przerwij funkcję w konkretnym momencie.
  • Zamiast odwoływać się do [i-1] nie lepiej utworzyć zmienną previousIndex?
  • Tak samo tutaj, określ stan danych warunków w konkretnych zmiennych, wygląda to wtedy o wiele bardziej przejrzyście niż to.
  • Tutaj takie sprawdzenie jest IMO bez sensu. Jak potrzebujesz konkretne pola obiektu, to utwórz mu osobną klasę i sprawdzaj, czy podany argument jest jego instancją. No i też można zamiast ifa na ciało wsadzić przerwanie funkcji, gdy warunki nie zostały spełnione.
  • To w końcu ES5?
komentarz 25 lipca 2016 przez goran. Użytkownik (930 p.)
Dzięki za wskazówki.
Mógłbyś bardziej rozjaśnić o co chodzi z tymi wcięciami i przerwaniem funkcji,podając jakiś przykład?Nie za bardzo wiem jak miałbym to zapisać.
komentarz 25 lipca 2016 przez Comandeer Guru (599,730 p.)
Zamiast Babela proponuję po prostu rollup.js.
komentarz 25 lipca 2016 przez Magicone Nałogowiec (45,100 p.)
function() {
  if (true) {
    // do something
  }
}

// vs

function() {
  if (!false) return;

  // do something
}

 

0 głosów
odpowiedź 25 lipca 2016 przez Else Stary wyjadacz (12,260 p.)
Tak właściwie na firefoxie nie da się sterować bo przynajmniej u mnie klawisze nie reagują. Na chromie wszystko działa fajnie.
komentarz 25 lipca 2016 przez Magicone Nałogowiec (45,100 p.)

Czyżby wina tego?

komentarz 25 lipca 2016 przez goran. Użytkownik (930 p.)
Dzięki,powinno już działać.
komentarz 25 lipca 2016 przez Else Stary wyjadacz (12,260 p.)
działa
0 głosów
odpowiedź 25 lipca 2016 przez YaroJava Użytkownik (880 p.)
Mi się podoba :)

Podobne pytania

0 głosów
1 odpowiedź 247 wizyt
pytanie zadane 22 października 2019 w JavaScript przez DeaDHanter Nowicjusz (210 p.)
+1 głos
1 odpowiedź 582 wizyt
pytanie zadane 18 maja 2016 w Nasze projekty przez sofnir Gaduła (4,690 p.)
+2 głosów
1 odpowiedź 793 wizyt
pytanie zadane 2 czerwca 2016 w C i C++ przez Pixel040 Gaduła (3,020 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...