340 likes | 476 Views
#3 Software planning. Methods of Development. Waarom ook alweer ?. refactor. Minder code is betere code. Vermijdt dubbele code Welke code lijkt veel op elkaar ?. Code emigreren. Nieuwe functie / member maken Verhuizen naar (super)object Verhuizen naar ‘free function’. Inhoud.
E N D
#3 Software planning Methods of Development
Minder code is betere code • Vermijdtdubbele code Welke code lijktveel op elkaar?
Code emigreren • Nieuwe functie / member maken • Verhuizen naar (super)object • Verhuizen naar ‘free function’
Inhoud • Assertions • Abstractie niveaus • Eindopdracht
Waarom assertions? • Om goede parameters te garanderen assert(x > 0) • Om het bestaan van data te controleren assert(texture != 0) • Om het programma te laten stoppen assert(false)
Waaromlatenstoppen? Iets hoort nooit te gebeuren Iets is nog niet geimplementeerd
Hoe assertions? Action Script 3 if (!expression) throw new Error("Assertion failed!"); C++ assert(expression); C# Assert.Test(expression);
Abstractieniveaus Abstractie
Abstractieniveaus Low level
Low level case 0xF: if (channel == 0xF) // META event { param1 = *(m_event + 1); uint8_t *p2 = m_event + 2; length = GetVLQ(&p2); data = m_event + 3; m_nextEvent = m_event + 3 + length; }
Abstractieniveaus API Low level
Application programming interface DirectX OpenGL GX LibGMC FMOD BASS IrrKlang ODE Havok Ageia Graphics Geluid Physics
Abstractieniveaus Wrappers API Low level
Wrapper Texture2D TextureD3D TexturePS3 TextureWii IDirect3DTexture9 GLuint GXTexObj
Wrapper TextureInterface Texture2D Texture3D TextureD3D TexturePS3 TextureWii IDirect3DTexture9 GLuint GXTexObj
Abstractieniveaus Engine Wrappers API Low level
Code • Editor • Content pipeline (Maya plugin, etc) • Etc.
Artificial Intelligence Game-world update Inputhandler Renderer Mainloop Entrypoint
Methodologie Zie USAT blog voor youtube link
Eindopdracht (keuze 1) • Schrijf een refactoring-plan voor je medical project in maximaal 2 A4tjes Uiterlijk 19 maart in mijn mailbox. niels.keetels@kmt.hku.nl
Eindopdracht (keuze 2) • Bekijk de video Scrum et al. en vat deze samen in maximaal 2 A4tjes http://www.youtube.com/watch?v=IyNPeTn8fpo Uiterlijk 19 maart in mijn mailbox. niels.keetels@kmt.hku.nl