- COMP.CS.140
- 10. Työnjako ja tiimityöskentely
- 10.4 ⌛⌛ Sarjataulukko & JavaDoc
⌛⌛ Sarjataulukko & JavaDoc¶
Palautus koostuu Maven-projektista. Hae tehtävän materiaalit ``student_template_project``sta.
Myös tässä tehtävässä kokeillaan luokkien dokumentointia JavaDoc-työkalulla. Nyt pohjana käytetään
aiemman Sarjataulukko-tehtävän luokkaa Standings
(ja sen sisäistä luokkaa Team
) lähes
sellaisenaan.
Tehtävän materiaaleissa on annettuna mallidokumentaatio. Tehtäväsi on organisoida ja muokata
luokat Standings
ja Team
sellaisiksi, että Javan javadoc
-työkalu luo niiden pohjalta
samanlaisen dokumentaation kuin annettu mallidokumentaatio.
Tässä tulee siis toisaalta lisätä asianmukaiset JavaDoc-kommentit ja toisaalta huomata, että mallidokumentaatio edellyttäää luokkiin pieniä muutoksia verrattuna aiempaan Sarjataulukko-tehtävään.
Luokat on määritetty kuulumaan pakkaukseen
fi.tuni.prog3.standings
.Joillekin jäsenfunktioille on määritetty niiden heittämän poikkeuksen tyyppi.
Jäsenfunktion
getTeams
palautusarvon tyyppi onList<Team>
eikäArrayList<Team>
.
Antaa toteutukselle tilaa käyttää sisäisesti jotain muutakin rajapinnan
List
toteuttavaa säiliötä kuin nimenomaanArrayList
-listaa.Jäsenfunktio
printStandings
ottaa parametrinaanPrintStream
-olion.
Koodiasi käsitellään maven-projektina ja minimivaatimus on, että koodisi sijaitsee alihakemistossa
src/main/java
noudattaen pakkausmääritysten mukaista alihakemistorakennetta. Tässä tehtävässä
ei testata luokkien toiminnallisuutta sinänsä, mutta koodin tulee kääntyä.
Tässä tehtävässä on huomioitavaa, että:
Pakkaukselle
fi.tuni.prog3.standings
ei tarvitse luodapackage.info.java
-tiedostoa, koska mallidokumentaatiossa sen kuvaus on sinänsä tyhjä.Luokan
Standings
kuvauksessa käytetään luetteloa. JavaDoc-kommenteissa voi käyttää HTML-muotoilua. Luo luettelo käyttäenul
-elementtiä: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ulLuokan
Standings
rakentimen kuvauksessa on linkki funktioonreadMatchData
. Luo sellainen käyttäen JavaDocinlink
-annotaatiota:
https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/doc-comment-spec.html#link
Funktion
readMatchData
kuvauksessa on kolme erillistä kappaleita. Erottele ne toisistaan HTML:np
-elementeillä: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/p
Testauksesta¶
Tarkistin pyrkii tutkimaan, että palauttamistasi kooditiedostoista (joita tässä on vain
Standings.java
) generoitu JavaDoc-dokumentaatio vastaa annettua mallidokumentaatiota. Tarkistus
koskee tarkemmin ottaen dokumentaation alihakemistossa apidocs/fi/tuni/prog3/standings
olevia
HTML-tiedostoja (joita voit tarkastella tavalliseen tapaan selaimella ja verrata koodistasi
tuotettua dokumentaatiota mallidokumentaatioon).
Tarkistuksen mahdollisen hyvän onnistumisen kannalta on suositeltavaa, että kopioit JavaDoc-kommenttien tekstit sellaisenaan mallidokumentaatiosta.
Vaikka palautus pyydetään Maven-projektina, sinun ei ole tehtävää tehdessäsi pakko käyttää Mavenia
dokumentaation generoimiseen. Voit generoida JavaDoc-dokumentaation omalla koneellasi ilman Mavenia
suoraan javadoc
-työkalulla esim. tapaan
javadoc -d apidocs src/main/java/fi/tuni/prog3/standings/Standings.java
ja verrata
alihakemistoon apidocs/fi/tuni/prog3/standings
luotuja HTML-tiedostoja mallidokumentaation
vastaaviin tiedostoihin.
Huomioi kuitenkin ylempänä mainittu seikka, että koodisi tulee kääntyä. Tarkistin kääntää koodisi
Mavenilla tapaan mvn package
sekä generoi siitä JavaDoc-dokumentaation. Maven-projektisi
projektitiedoston sisällöllä ei ole tämän suhteen merkitystä, sillä tarkistin joka tapauksessa
käyttää käännöksessä omaa projektitiedostoaan.
A+ esittää tässä kohdassa tehtävän palautuslomakkeen.