1 / 34

Methods of Development

#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.

nevin
Télécharger la présentation

Methods of Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. #3 Software planning Methods of Development

  2. Waaromookalweer?

  3. refactor

  4. Minder code is betere code • Vermijdtdubbele code Welke code lijktveel op elkaar?

  5. Code emigreren • Nieuwe functie / member maken • Verhuizen naar (super)object • Verhuizen naar ‘free function’

  6. Inhoud • Assertions • Abstractie niveaus • Eindopdracht

  7. Assertions

  8. 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)

  9. Waaromlatenstoppen? Iets hoort nooit te gebeuren Iets is nog niet geimplementeerd

  10. Hoe assertions? Action Script 3 if (!expression) throw new Error("Assertion failed!"); C++ assert(expression); C# Assert.Test(expression);

  11. Abstractieniveaus Abstractie

  12. Abstractieniveaus Low level

  13. 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; }

  14. Abstractieniveaus API Low level

  15. Wat is een API?

  16. Application programming interface DirectX OpenGL GX LibGMC FMOD BASS IrrKlang ODE Havok Ageia Graphics Geluid Physics

  17. Abstractieniveaus Wrappers API Low level

  18. Wat is een wrapper?

  19. Wrapper Texture2D TextureD3D TexturePS3 TextureWii IDirect3DTexture9 GLuint GXTexObj

  20. Wrapper TextureInterface Texture2D Texture3D TextureD3D TexturePS3 TextureWii IDirect3DTexture9 GLuint GXTexObj

  21. Abstractieniveaus Engine Wrappers API Low level

  22. Wat is een engine?

  23. De engine is niet de game

  24. De engine is niet de editor

  25. De engine is niet de renderer

  26. Code • Editor • Content pipeline (Maya plugin, etc) • Etc.

  27. Artificial Intelligence Game-world update Inputhandler Renderer Mainloop Entrypoint

  28. Methodologie Zie USAT blog voor youtube link

  29. 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

  30. 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

More Related