Generert fra Del 1,2 og 3 ved bruk av CHATGPT
- Prosjektoppsett: Bekreft at prosjektet er riktig satt opp på datamaskinen din, helst i et kjent sted.
- Versjonskontroll: Sørg for at prosjektet er lagt til på GitHub/GitLab med versjonskontroll via GitHub Classroom.
- Del 1 Gjennomgang:
- Entitetsklassen for
FoodItem
er fullstendig implementert med riktige felt, konstruktører, tilgangsmetoder og mutatorer. - JavaDoc-dokumentasjon er gitt for klassen og alle offentlige metoder.
- Alle CheckStyle-problemer er løst.
- Enhetstester er laget for entitetsklassen, med både positive og negative tester.
- Entitetsklassen for
- Tilbakemeldingsmøte: Hold et tilbakemeldingsmøte med lærer eller læringsassistent.
- Registreringsklasse:
- Navngi klassen som representerer registreringen.
- Velg en passende Java SDK-samling (f.eks.
ArrayList
,HashMap
, etc.) for å lagre matvarer og begrunn valget i rapporten.
- Legg til Matvare: Metode for å legge til en matvare i registeret. Hvis varen eksisterer, oppdater mengden.
- Søk Matvare: Metode for å finne en matvare etter navn.
- Fjern Matvare Mengde: Metode for å redusere mengden av en matvare. Hvis den når null, fjern varen.
- List Utgåtte Varer: Metode for å liste alle varer som går ut før en gitt dato.
- Sortert Liste over Varer: Metode for å returnere alle varer sortert alfabetisk etter navn.
- Enhetstester: Lag en enhetstestklasse for registreringsklassen.
- Skriv både positive og negative tester for hver metode.
- Sørg for god testdekning (100% er ikke nødvendig, men streb etter høy kvalitet).
- Sjekk at alle tester kjøres uten feil.
- init() Metode:
- Sett opp initiale applikasjonskonfigurasjoner, som å instansiere registreringsklassen.
- start() Metode:
- Legg til noen matvarer i registeret (test grunnleggende funksjonalitet).
- Lag en metode for å skrive ut matvarer fra registeret (forbered for senere brukergrensesnitt).
- Attributter:
- Oppskriftsnavn.
- Kort beskrivelse av retten.
- Instruksjoner (tekstfelt).
- Liste over nødvendige matvarer/ingredienser.
- Antall porsjoner (standard 4).
- Velg en passende datastruktur for lagring av ingredienser (f.eks.
ArrayList
,HashMap
).
- Attributter og Metoder:
- Implementer rimelige metoder for å oppfylle kravene til oppskriftsstyring.
- Begrunn valg av datastruktur i rapporten.
- Lag en Oppskrift: Inkluder navn, beskrivelse, instruksjoner og ingredienser (med mengder).
- Sjekk Ingredienser: Verifiser om kjøleskapet/spiskammeret har nok ingredienser for en valgt oppskrift.
- Legg til Oppskrift i Kokeboken: Lagre oppskrifter i kokeboken for senere tilgang.
- Foreslå Oppskrifter: Eventuelt, gi en liste over oppskrifter som kan lages med de nåværende ingrediensene.
- Oppskriftsklasse Tester: Lag positive og negative enhetstester for all funksjonalitet.
- Kokebokklasse Tester: Sørg for god testdekning for kokeboken, dekk alle forventede scenarioer.
- init() Metode:
- Initialiser instanser av oppskrifts- og kokebokklassene.
- start() Metode:
- Legg til noen eksempeloppskrifter i kokeboken og test noen funksjoner.
- Versjonskontroll:
- Sjekk at alle commits er pushet til GitHub/GitLab.
- Gjennomgå commit-meldingene for klarhet og korthet.
- Enhetstester:
- Sørg for at alle tester har beskrivende navn og følger Arrange-Act-Assert-mønsteret.
- Test både positive og negative scenarier.
- Verifiser at alle tester passerer uten feil.
- Klasseimplementering:
- Verifiser at kjøleskap/spiskammer, oppskrift og kokebokklasser oppfyller oppgavebeskrivelsens spesifikasjoner.
- Kodekvalitet:
- Sørg for JavaDoc-dokumentasjon for klasser og metoder.
- Løs eventuelle CheckStyle- og SonarLint-problemer.
- Sørg for beskrivende navn på variabler, metoder og klasser.
- Prosjektstruktur:
- Gruppér klassene i logiske pakker.