Individuell uppgift: Code Review

Jag har tittat på grupp 10:s spelar klass för att leta efter vad som kan göras för att minska de antal bindningar som klassen har. Efter en kort analys så kan jag med säkerhet säga att den behöver inte ta in xSystem som en parameter i sin konstruktor. Man kan se att xSystem innehåller åtta värden, men klasen använder endast två av dem. Klassen skulle kunna använda flera av dem, men använder sig av andra saker istället (t.ex. finns det en keyboard pekare i xSystem, men klassen använder fortfarande sf::Keyboard funktioner vid inmatning istället).

Som klassen ser ut nu så skulle konstruktorn endast behöva ta in en SoundManager samt en SpriteManager pekare för att klassen skulle behöva fungera. ScreenWidth och ScreenHeight som finns i xSystem, fast används inte, skulle kunna bli placerade i en h fil som t.ex. ‘stdfax.h’ eller någon annan h fil som innehåller viktiga nummer som kan användas överallt i programmet. Sedan skulle SoundManagern också kunna bli borttagen ifrån spelarklassen, då den ska inte behöva hålla koll på vilket ljud som spelas upp. Det är bättre att spela upp ljudet i t.ex. en EntityManager eller något liknande, då jag förmodar att andra Entiteter i spelet kommer också att spela upp ett ljud när de tar skada.

Sedan längre ner i koden så har vi funktionen CreateSprite. Den behöver för det första inte ta emot xSystem, då det redan finns en m_xSystem i klassen som tilldelas ett värde ifrån en parameter i konstruktorn. Jag tycker också att grupp tio skulle ha gjort en PlayerState klass istället för att ha så många if-satser. Genom att ha en PlayerState klass så skulle de kunna undvika att ta in harpunen in i spelar klassen och istället bara ändra state till ‘HarpoonThrow’, för att byta till kastnings animationen.

Övrig Synpunkt:

Inkludera inte alla h filer i stdfax.h, som sedan blir inkluderat överallt. Det är inte bra eller fint.

– Johan Persson Grupp 9

Annonser
Individuell uppgift: Code Review

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut /  Ändra )

Google+-foto

Du kommenterar med ditt Google+-konto. Logga ut /  Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut /  Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut /  Ändra )

w

Ansluter till %s