L3. En App
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.
Bedömning
Kodkvalitetskrav för betyg A-E
Gå igenom all kod inklusive kod från laboration 2 och uppdatera enligt bokens clean code kapitel 2-11 och det vi diskuterat på föreläsningar och workshops. Skriv en kort (4-6 meningar) reflektion för varje kapitel om hur just det kapitlet har påverkat eller inte påverkat din kod. Använd bokens termer. Ge exempel med läsbara screenshots från er kod till varje reflektion. Dokumentera detta till mig i ett separat dokument reflection.md i ditt repositorium. Detta ska vara språkligt riktat till mig.
Fokusera på tydlighet, variation, ärlighet och vad som är intressant. Exempelvis om du har icke självklara överväganden med olika kvalitetsregler som står i konflikt med varandra så är dessa extra intressanta.
Jag kommer även titta på och bedöma er kod. Den skall därför i största mån vara skriven för att kunna fortsätta utvecklas av andra programmerare.
Betyg sätts efter:
20%, funktionalitet, hur väl ni uppfyller kraven samt hur omfattande och komplex funktionaliteten är.
25%, projektens framställning, hur väl ni presenterar projekten via dess artefakter, ex README.md.
10%, testning, hur väl ni testat kraven.
20%, reflektion, hur väl ni kan diskutera bokens innehåll.
25%, kodkvalitet, hur väl jag kan förstå er kod utifrån Clean Code och föreläsningar.
Regler
Skriv all kod själv, skriv inte tillsammans med någon (sida vid sida-programmering).
Kopiera inte kod från någon annan. Skriv inte av kod.
Generera inte kod (Exempelvis med LLM).
Ni skall använda er modul från laboration 2. Ni får skriva om modulen men modulen skall hållas som ett separat projekt och skall bibehålla kraven och testerna från laboration 2. Ja ni får lägga till tester eller skriva om testerna ( eller testappen ).
Skriv 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 eller om du behöver speciella namngivna konstruktorer ( se CC ). Försök hålla så mycket som möjligt private ( se CC ).
Projekten dokumenteras på lämpligt sätt på git. Fundera över hur de olika målgrupperna (Slutanvändare, Apputvecklare, Modulanvändare, Modulutvecklare, Examinator) separat får sina informationsmål uppfyllda av er dokumentation. Fokus på effektiv dokumentation. Om ni inte tillför information och dokumentationen “känns tråkig” fundera på om ni gör ett värdefullt bidrag eller ej.