⌛⌛ 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 on List<Team> eikä ArrayList<Team>.

    • Antaa toteutukselle tilaa käyttää sisäisesti jotain muutakin rajapinnan List toteuttavaa säiliötä kuin nimenomaan ArrayList-listaa.

  • Jäsenfunktio printStandings ottaa parametrinaan PrintStream-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 luoda package.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äen ul-elementtiä: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul

  • Luokan Standings rakentimen kuvauksessa on linkki funktioon readMatchData. Luo sellainen käyttäen JavaDocin link-annotaatiota:

https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/doc-comment-spec.html#link

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.