Post on 25-Jan-2016
description
#3 Software planning
refactor
Vermijdt dubbele code
Welke code lijkt veel op elkaar?
Nieuwe functie / member maken
Verhuizen naar (super)object
Verhuizen naar ‘free function’
Assertions
Abstractie niveaus
Eindopdracht
Om goede parameters te garanderenassert(x > 0)
Om het bestaan van data te controlerenassert(texture != 0)
Om het programma te laten stoppenassert(false)
Iets hoort nooit te gebeuren
Iets is nog niet geimplementeerd
Action Script 3if (!expression) throw new
Error("Assertion failed!");
C++assert(expression);
C#Assert.Test(expression);
Abstractie
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; }
Low level
API
DirectXOpenGLGXLibGMC
FMODBASSIrrKlang
ODEHavokAgeia
Graphics
Geluid
Physics
Low level
API
Wrappers
IDirect3DTexture9 GLuint GXTexObj
TextureD3D TexturePS3 TextureWii
Texture2D
IDirect3DTexture9 GLuint GXTexObj
TextureD3D TexturePS3 TextureWii
Texture2D
TextureInterface
Texture3D
Low level
API
Wrappers
Engine
Code
Editor
Content pipeline (Maya plugin, etc)
Etc.
Entrypoint
Mainloop
Inputhandler Renderer
Artificial Intelligence
Game-world update
Zie USAT blog voor youtube link
Schrijf een refactoring-plan voor je medical project in maximaal 2 A4tjes
Uiterlijk 19 maart in mijn mailbox.niels.keetels@kmt.hku.nl
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