Laboration 4: God programmering
I den här labben ska de stacklasser du skrev i laboration 1 snyggas till.
Uppgift
I objektorienterade sammanhang betyder god programmering att så många eventualiteter som
möjligt är täckta, samt att alla implementeringsbeslut klart framgår av dokumentationen.
Konkret betyder det att alla ”gränshändelser” ska vara hanterade
på något sätt. Med en gränshändelse avser jag t.ex. att man försöker köra metoden pop
på en stack som är tom, och hantering kan mycket väl innebära att ett undantag kastas.
Uppgiften är att titta över de klasser du skrev till steg 2 i laboration 1. Du ska försöka hitta gränshändelser och kommentera din kod utförligt. Alla identifierade gränshändelser ska säkras upp genom att du implementerar en hantering av dem. Skriv gärna egna undantagsklasser! Dokumentationen ska vara grundlig och utförd enligt riktlinjerna för JavaDoc. Beskriv de principer som ligger bakom din implementation, samt hur den är tänkt att användas. Även de gränshändelser du identifierat ska beskrivas i dokumentationen, tillsammans med en redovisning för hur de är hanterade.
När du genererar dina JavaDoc ska du använda -private-flaggan, så att allt kommer med.
Edit: 2009-09-29
Om ni bestämmer er för att låta en metod kasta ett undantag kan ni behöva ändra i det gränssnitt
där metoden anges också.
Redovisning
Du redovisar den här uppgiften genom att publicera den genererade html-koden på webben, samt skicka en länk och källkoden till mig (Markus Saers). Ingen annan skriftlig rapportering behövs.
Examination
För betyget godkänd (G) på den här laborationen krävs att du skriver om klasserna från steg 2 i laboration 1.
För betyget väl godkänd (VG) på den här laborationen krävs att du skriver om klasserna från steg 2 i laboration 1, samt att du skriver minst en egen undantagsklass och paketerar klasserna i ett världsunikt namngivet paket.
