Werkgroep 2 ‘First things first, but not necessarily in that order.’ Dr. Who
Vragen? • Ik snap die ENTER_FRAME methode niet helemaal? • …
Hogeschool van Amsterdam – Interactieve Media
2
Behandeling van huiswerk • Klassikaal uitwerken van vraagstuk 1 t/m 5 • De uitwerkingen komen op intranet (ook van 6)
Hogeschool van Amsterdam – Interactieve Media
3
Leesstrategie: afdalen! 1 Oriënterend lezen (macro)
2
3
Globaal lezen
Grondig lezen
(meso)
(micro)
Koppen snellen. Begin/ eind van paragraven Uitgelichte tekst Hoe past het in het geheel? Code: Klasse namen
Regel voor regel
Beeldvorming grote lijnen. Hoofdvraag van een tekst Voorbereiding verder lezen. Hoe zit de tekst in elkaar?
Hogeschool van Amsterdam – Interactieve Media
Woorden opzoeken Wat staat er eigenlijk Code uitproberen
4
Voorbeelden deeltoets 1 • Er is een viertal voorbeelden gemaakt. • Deze voorbeelden mag je gebruiken als uitgangspunt maar onder geen beding als einddoel voor jouw animatie. • Als we letterlijk code uit de voorbeelden terugzien heb je een onvoldoende!
Hogeschool van Amsterdam – Interactieve Media
5
Programmaplan • Het loont om bij het programmeren van een applicatie systematisch te werk te gaan. • Ook in het teamproject moet je eerst nadenken voordat je gaat bouwen. • Leer aan eerst te schetsen voordat je naar je keyboard grijpt.
Hogeschool van Amsterdam – Interactieve Media
6
Programmaplan overzicht 1. 2. 3. 4.
Concept bedenken Opdelen in stukken Onderzoek apart de onderdelen van je animatie Samenvoegen in definitief programma
Hogeschool van Amsterdam – Interactieve Media
7
Programmaplan detail 1. Concept bedenken a. Bedenk en schets een hoofdfiguur voor jouw animatie b. Bedenk en schets een achtergrond voor jouw animatie c. Kies een beweging die past bij het door jou gekozen hoofdfiguur
2. Opdelen in stukken a. Geef met pijlen de onderdelen van je animatie aan b. Zet in beknopte bewoording een korte uitleg naast de pijlen c. Beschrijf eventuele beperkingen (if-statements)
Hogeschool van Amsterdam – Interactieve Media
8
Programmaplan detail 3. Onderzoek apart de onderdelen van je animatie a. Open een nieuw project b. Probeer één enkel onderdeel van je animatie uit c. Als het lukt sla je het project op en begin je opnieuw bij (a)
4. Samenvoegen in definitief programma a. b. c. d.
Open een nieuw project Implementeer één enkel onderdeel van je animatie Als het lukt sla je het project op Exporteer het project en ga opnieuw naar (b)
Hogeschool van Amsterdam – Interactieve Media
9
Clean-code • Er zijn regels voor nette code! • Nette code hee vele voordelen • • • • •
Beter onderhoudbaar Beter overdraagbaar Minder bugs Code blij begrijpelijk Bevordering samenwerken
Hogeschool van Amsterdam – Interactieve Media
10
The only valid measurement of code quality: WTFs/minute
Hogeschool van Amsterdam – Interactieve Media
11
Houd je aan de volgorde • Er is een standaard volgorde in een klasse 1. 2. 3. 4. 5. 6.
Locatie van het bestand Ophalen benodigdheden Begin van de klasse Opsomming van de eigenschappen Constructor Andere functies
Hogeschool van Amsterdam – Interactieve Media
12
Houd je aan de volgorde • We kunnen als hulpmiddel de ‘raamwerkcode’ die door Flash Builder aangemaakt wordt aanpassen naar onze behoee! • Klik in de preferences op het pijltje voor ‘Flash Builder’ en vervolgens op ‘File Templates’ en selecteer uit het lijstje bij ‘ActionScript’ de ‘ActionScript Class’ en klik op Edit. Kopieer hierin de raamwerkcode van het intranet.
Hogeschool van Amsterdam – Interactieve Media
13
Voeg commentaar toe • Code zonder commentaar kan heel duidelijk zijn • Als beginner is het prettig om uitgebreid te ‘becommentariëren’ • Helpt bij het teruglezen van je code • (helpt bij je mondeling voor deeltoets 3!)
Hogeschool van Amsterdam – Interactieve Media
14
Gebruik betekenisvolle namen • Namen van variabelen en functies moeten helder zijn: • Een naam van een variabele is altijd enkelvoud • Meerdere woorden zijn niet erg, dit is juist gewenst! • Een naam van een functie bevat altijd een werkwoord • Meerdere woorden zijn niet erg, dit is juist gewenst!
• Voorkom desinformatie: Laat geen foute hints achter!
Hogeschool van Amsterdam – Interactieve Media
15
Gebruik betekenisvolle namen public var s:int;! // of! public var horizontaleSnelheid:int;! ! public var b:Sprite;! // of! public var rodeBal:Sprite;!
Hogeschool van Amsterdam – Interactieve Media
16
Gebruik betekenisvolle namen public function whoa(e:Event):void ! {! "// code! }! // of! public function beweegHorizontaal(e:Event):void {! "// code! }!
Hogeschool van Amsterdam – Interactieve Media
17
Houd je aan code-conventies • Dit is wellicht nog iets te veel gevraagd maar ik wil je er toch op wijzen. • Op de Adobe website: http://opensource.adobe.com/wiki/display/flexsdk/ Coding+Conventions • Vooralsnog: Kies een stijl en houd je daar aan!
Hogeschool van Amsterdam – Interactieve Media
18
Functionele decompositie • Als je bepaalde series opdrachten meer dan een keer toepast, zet ze dan apart in een functie. • Leren inzien wanneer je code apart neerzet in een functie is een belangrijke stap in leren programmeren.
Hogeschool van Amsterdam – Interactieve Media
19
Clean-code regels 1. 2. 3. 4. 5.
Houd je aan de standaard volgorde Verduidelijk je code met commentaar Gebruik betekenisvolle namen Houd je aan code-conventies Gebruik functies voor herhaald toegepaste code
Alle code die je oplevert moet voldoen aan deze regels!
Hogeschool van Amsterdam – Interactieve Media
20
Vraagstukken •
Er staan 5 (+1) vraagstukken op intranet waarin de regels niet zo nauw nagekomen zijn. • Herschrijf de code zodanig dat de regels nageleefd worden. • Dit principe heet ‘refactoring’ en is erg belangrijk voor de onderhoudbaarheid van code. • ‘Refactoring Friday’ komt voor in projectmethoden.
• •
Maak een opzet voor jouw animatie Gebruik eventueel de boeken van Ed Emberly!
• • •
Begin met het programmeren van jouw animatie Gebruik hierbij vooralsnog de Placeholder class (probeer de Lieveheersbeestje oefeningen)
Hogeschool van Amsterdam – Interactieve Media
21
Huiswerk • Maak deeltoets 1 • De vraagstukken die je niet af hebt gekregen zijn huiswerk voor de volgende werkgroep. • Besteed niet te veel tijd aan vraagstuk 6 tenzij je het heeeeel graag wilt.
Hogeschool van Amsterdam – Interactieve Media
22