Snake CodeReview

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

1
  1. nie wrzuca sie folderu bin ani obj do githuba
 if (SnakeOrCherryObject is Snake)

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

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

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1