Springen naar inhoud

Structuur van programma's: tips


  • Log in om te kunnen reageren

#1

VegTo91

    VegTo91


  • >25 berichten
  • 56 berichten
  • Ervaren gebruiker

Geplaatst op 16 januari 2011 - 16:07

Beste,

Ik zocht op dit forum enkele tips in verband met het opmaken van de structuur van een programma in Java. In de bijlage zit er een voorbeeld (met de opgave). Deze soort oefeningen vind ik soms chaotisch om te maken. Vaak maak ik meer methodes aan in een bepaalde klasse die er nodig zijn of heb ik er maar een paar terwijl de "oplossing" meerdere methodes in zijn klasse heeft. Natuurlijk is ieder klassendiagram zo goed als uniek, maar vaak moeten bepaalde elementen dicht bij elkaar aanleunen, wat bij mij soms niet het geval is (bij deze oefening). Vaak stel ik CRC kaartjes op en kijk ik wat het object moet kunnen en wat zijn verantwoordelijkheden zijn... Bij deze oefening zijn er immers immens veel klassen dat ik vaak de interacties tusses de klassen door elkaar lopen. Mocht er iemand deftige tips hebben...

Dank.

Bijgevoegde Bestanden

Veranderd door VegTo91, 16 januari 2011 - 16:08


Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

317070

    317070


  • >5k berichten
  • 5567 berichten
  • Moderator

Geplaatst op 16 januari 2011 - 16:44

Ik zocht op dit forum enkele tips in verband met het opmaken van de structuur van een programma in Java. In de bijlage zit er een voorbeeld (met de opgave). Deze soort oefeningen vind ik soms chaotisch om te maken. Vaak maak ik meer methodes aan in een bepaalde klasse die er nodig zijn of heb ik er maar een paar terwijl de "oplossing" meerdere methodes in zijn klasse heeft. Natuurlijk is ieder klassendiagram zo goed als uniek, maar vaak moeten bepaalde elementen dicht bij elkaar aanleunen, wat bij mij soms niet het geval is (bij deze oefening). Vaak stel ik CRC kaartjes op en kijk ik wat het object moet kunnen en wat zijn verantwoordelijkheden zijn... Bij deze oefening zijn er immers immens veel klassen dat ik vaak de interacties tusses de klassen door elkaar lopen. Mocht er iemand deftige tips hebben...

Is dat je voorgestelde oplossing? Of is dat de correcte oplossing?
Eerst en vooral: hoeveel ervaring heb je met programmeren (naar het schijnt moeten ze tegenwoordig dit al maken voordat ze een eerste volledige programma geschreven hebben ;) )

Eerste bedenkingen: waar wordt bijgehouden welk object waar staat? Waar worden de NPC's hun AI uitgevoerd? Waarom is dit in een Nederlands-Engels mengelmoes?

Het belangrijkste bij dit soort dingen is belangrijk van onbelangrijk scheiden, abstracties maken.

Dus stap 1) is: wat maak je? Een sidescrollspelletje. Je hebt dus objecten die ergens op een kaart staan. Die objecten hebben enkel een positie. Op het einde ga je moeten kunnen efficient, gegeven een positie, vinden wat er op staat en omgekeerd, gegeven een object, zijn positie kennen.
Op dat moment maak je een schema enkel hiervan op. Zorg je dat al deze dingen werken.

Vervolgens voeg je iets toe, bijvoorbeeld op sommige objecten kun je niet stappen, op andere wel.

Vervolgens voeg je nog iets toe, bijvoorbeeld voorwerpen die iedere 'tick' iets moeten kunnen doen. Enz.

Bij iedere stap zorg je dat alle verantwoordelijkheden van hogere abstractieniveaus blijven werken (Bijvoorbeeld door subklassen te gebruiken!). En zo zak je steeds verder in de abstractieboom tot je volledig aan de opdracht voldoet. Zo zul je dan bijvoorbeeld zien dat een 'geboortegat' meer gemeen heeft met een 'wezen' dan met 'vak'.
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-

#3

VegTo91

    VegTo91


  • >25 berichten
  • 56 berichten
  • Ervaren gebruiker

Geplaatst op 16 januari 2011 - 22:05

Is dat je voorgestelde oplossing? Of is dat de correcte oplossing?
Eerst en vooral: hoeveel ervaring heb je met programmeren (naar het schijnt moeten ze tegenwoordig dit al maken voordat ze een eerste volledige programma geschreven hebben ;) )

Eerste bedenkingen: waar wordt bijgehouden welk object waar staat? Waar worden de NPC's hun AI uitgevoerd? Waarom is dit in een Nederlands-Engels mengelmoes?

Het belangrijkste bij dit soort dingen is belangrijk van onbelangrijk scheiden, abstracties maken.

Dus stap 1) is: wat maak je? Een sidescrollspelletje. Je hebt dus objecten die ergens op een kaart staan. Die objecten hebben enkel een positie. Op het einde ga je moeten kunnen efficient, gegeven een positie, vinden wat er op staat en omgekeerd, gegeven een object, zijn positie kennen.
Op dat moment maak je een schema enkel hiervan op. Zorg je dat al deze dingen werken.

Vervolgens voeg je iets toe, bijvoorbeeld op sommige objecten kun je niet stappen, op andere wel.

Vervolgens voeg je nog iets toe, bijvoorbeeld voorwerpen die iedere 'tick' iets moeten kunnen doen. Enz.

Bij iedere stap zorg je dat alle verantwoordelijkheden van hogere abstractieniveaus blijven werken (Bijvoorbeeld door subklassen te gebruiken!). En zo zak je steeds verder in de abstractieboom tot je volledig aan de opdracht voldoet. Zo zul je dan bijvoorbeeld zien dat een 'geboortegat' meer gemeen heeft met een 'wezen' dan met 'vak'.


Dit is de correcte oplossing





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures