Skip to content

Latest commit

 

History

History
99 lines (80 loc) · 4.7 KB

CHECKLIST.MD

File metadata and controls

99 lines (80 loc) · 4.7 KB

Generert fra Del 1,2 og 3 ved bruk av CHATGPT

1. Forberedende Oppgaver

  • 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.
  • Tilbakemeldingsmøte: Hold et tilbakemeldingsmøte med lærer eller læringsassistent.

2. Implementering av Registreringssystem for Matvarer (Kjøleskap/Spiskammer)

  • 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.

Nødvendige Metoder:

  • 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.

3. Enhetstester for Registreringsklassen

  • 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.

4. Oppdateringer til Applikasjonsklassen

  • 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).

5. Implementering av Oppskrifts- og Kokebokklasser

Oppskriftsklasse

  • 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).

Kokebokklasse

  • Attributter og Metoder:
    • Implementer rimelige metoder for å oppfylle kravene til oppskriftsstyring.
    • Begrunn valg av datastruktur i rapporten.

Brukerkrav:

  • 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.

6. Enhetstester for Oppskrifts- og Kokebokklasser

  • Oppskriftsklasse Tester: Lag positive og negative enhetstester for all funksjonalitet.
  • Kokebokklasse Tester: Sørg for god testdekning for kokeboken, dekk alle forventede scenarioer.

7. Oppdateringer til Applikasjonsklassen

  • init() Metode:
    • Initialiser instanser av oppskrifts- og kokebokklassene.
  • start() Metode:
    • Legg til noen eksempeloppskrifter i kokeboken og test noen funksjoner.

8. Siste Sjekk

  • 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.