Snake CodeReview

B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
1

Witam mam 15 lat i programuje od 2 lat, ale dopiero od jakiś 3 miesięcy załapałem do tego bakcyla. Od jakiegoś miesiąca piszę prostego Snake'a, tak więc chciałbym was prosić o to, abyście ocenili mój kod, powiedzieli co można napisać lepiej, jakie mam złe praktyki itd.

https://github.com/Basileus1990/Snake
Dodam także że po raz pierwszy korzystam z GitHuba tak więc chciałbym zapytać jak się powinno wrzucać projekty na GitHuba

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
1
  1. nie wrzuca sie folderu bin ani obj do githuba
Kopiuj
 if (SnakeOrCherryObject is Snake)

ja tam byl zrobil dwa osobne konstruktory zamiast jeden ktory przyjmuje obj
3)

Kopiuj
SetRandomCherryPosition
  • za duzo sie dzieje. Podziel na mniejsze funkcje
  • uzywasz exceptionow jak goto
  1. SnakeAndCherryClasses.cs
  • jeden plik powinien meic jedna klase / interfejs
    -nazewnictwo. Czemu GetBody jest powiazane z UI? dziwnie to brzmi i wyglada
  • magic numbers przy directional. Zrob z tego enum
  • dziwne, ze snake jest odpowiedzialny, za rysowanie samego siebie na mapie, ale za to mapa daje kolor temu snakekowi. Ja bym to wydzieli do osobnej klasy na zasadzie SnakeBuilder i jakis MapBuilder
  • game.snake.CanChangeDirectionOfMoving == true nie potrzebne porownanie do true. Jezeli je potrzebujesz, nazywaj lepiej zmienne. Tutaj jedynie co jest potrzebne to usuniecie tego true
  • po co uzywasz zwyklej tablicy?
  • Move jest za duze

to tak z grubsza

ogolnie nie jest zle

B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

@fasadin: Dzięki za ocenę. Myślę że poprawiłem większość problemów o których napisałeś

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.