L2. En Modul
Uppgiftsbeskrivning
Länken till Drive-dokumentet hittas i Slack. Länk
Inlämning
Koden lämnas in genom formulär Daniel kommer tillhandahålla i Slack några dagar innan deadline ( se schema ). Formuläret kommer innehålla ert namn samt länk till git-repositorium samt några frågor.
Testrapport och kodkvalitetskrav lämnas in som ett markdowndokument i ert repositorium där även reflektionen skrivs. Namnge dessa filer som testrapport.md och reflektion.md
Bedömning
För godkänd nivå “E”
Funktionell kod. All kod skall vara testad. De flesta testfall skall fungera, något enstaka testfall får misslyckas eller känd bugg får finnas. Modulen måste dock fungera i stort. Det finns en testrapport som visar vad som fungerar och hur det är testat.
Koden är tillräckligt stor/komplex för att räknas.
Koden är förberedd för att återanvändas.
Det finns en läsbar dokumentation på github.
All kod finns med historik på github ( tänk minst daglig commit ).
Tabeller med Kodkvalitetskrav är ifyllda för det publika interfacet som baseras på kursboken.
En reflektion är skriven baserat på vad studenten har lärt dig.
Studenten uppfyller reglerna.
För högre betyg “A-D”
Samtliga punkter från “För godkänd nivå ”.
Testningen är övertygande och noggrann. Viktigaste kraven fungerar.
Koden överträffar storlek och komplexitet.
Det är mycket tydligt utifrån git-repositoriet hur modulen skall återanvändas. Exempel och dokumentation, installationsanvisningar.
En tydlig separation finns mellan modulen som skall återanvändas och de sätt som modulen har använts för att testa den. Exempelvis kan test-appen ligga i en separat katalog.
Kodkvalitetskraven är varierade i vilka regler de använder. Studenten är tydlig i hur regler och kodnamn samt metoder hänger ihop.
En välskriven reflektion är skriven som baseras på erfarenheter och lärdomar utifrån laborationen samt bokens kapitel 2 och 3.
Regler
Skriv all kod själv, skriv inte tillsammans med någon (sida vid sida-programmering). Ni får inte heller generera kod med hjälp utav LLM eller på andra sätt.
Kopiera inte kod från någon annan. Skriv inte av kod.
Använd inte bibliotek eller färdiga metoder för att lösa huvudproblemet, dvs er modul. Om ni tänker if-satser och for-loopar så tänker ni rätt. Ni får använda inbyggda typer och metoder som finns i språkets standardbibliotek. Men om ni behöver “installera beroenden” så skall ni helst undvika det. Diskutera med Daniel. Det är dock helt okej att använda ramverk i Test-App för att testa er modul.
Koden skall kunna delas med klasskamrater under senare laborationer och workshop. Ange licens för öppen källkod och publicera publikt på GitHub.
Koden är skriven i ett programmeringsspråk som förekommit tidigare än den här kursen i utbildningen. En annan student på samma program skall kunna förstå din modul utan att läsa in sig på ett ramverk.
Fokusera på Objektorienterad kod med klasser och metoder i klasser. Du kan ha kod utanför klasser men bara om den behövs för att starta upp koden ( ex. nodejs “server.listen(port…” ). Inga metoder i dina klasser får vara statiska mer än om det behövs för att starta upp koden ( Ex. java “public static void main(... ” )