← Område 2 Inlämning 2 · Övningsbanken C# Vanliga misstag

Webbserverprogrammering 1 · område 2

Inlämning 2 – Övningsbanken C#

Visa att du behärskar C#:s grundfunktioner genom att lösa tjugo övningar ur kursens övningsbank, och att du kan hålla ihop data i en egen klass genom att bygga en tabell som renderas ur en lista med objekt.

1. Uppdraget

Allt ligger i ett Blazor-projekt. Det finns inget konsolfönster i den här kursen – koden körs på servern och resultatet syns på en sida.

Du får med dig fyra saker:

Facit till övningarna delas ut efter varje övningspass, inte före.

Din egen klass, inte guidens

Guiden bygger klassen Film. Din klass ska föreställa något annat, och metoderna ska räkna på dina fält. Översättningstabellen i guiden visar vad som måste bytas ut. Produkt är med flit en engångsklass – den domän du bär resten av kursen väljer du i område 3.

2. Så ska projektet vara upplagt

Fyra sidor för övningarna, en per tema. Varje övning får en egen rubrik och ett eget @code-block direkt under den.

SidaÖvningarTema
/ovningar/typer1–7Uttryck, typer, utdata
/ovningar/villkor8–14Villkor och logik
/ovningar/loopar15–21Loopar, listor, arrayer
/ovningar/metoder22–28Metoder, klasser, objekt

Att lägga alla övningar på en enda sida fungerar tekniskt, men ett fel i en övning gör då att ingen av de andra går att visa.

Namnge variabler efter övningens nummer

o3Summa, inte summa. Alla @code-block på en sida blir samma klass, och två övningar som använder samma namn ger felet CS0102: already contains a definition.

Kryssen nedan sparas i din webbläsare, så du kan bocka av allteftersom.

3. Ska-krav — nivå E

4. Bör-krav — nivå C, utöver E

5. Utmaning — nivå A, utöver C

6. Så bedöms den

Jag läser koden och kör projektet. Tre saker väger tyngst.

Att det fungerar. En övning som inte kompilerar är inte löst. Kontrollera alla fyra sidorna innan du lämnar in – ett fel på en sida syns inte från de andra.

Att du valt. Fälten i din klass, typerna, och vad metoderna räknar på är dina beslut. En klass med Fält1, Fält2 och Fält3 visar att du inte tänkt på vad den ska föreställa.

Att det går att läsa. Namn som säger vad värdet är, konsekvent namngivning, och kod som inte upprepar sig i onödan. Kodningsstandard är eget centralt innehåll i kursen, inte en artighet.

7. Inlämning

  1. Kontrollera att projektet startar och att alla fyra sidorna svarar.
  2. Gå igenom kravlistan för den nivå du siktar på.
  3. git add ., git commit -m "…", git push
  4. Öppna ditt repo på github.com och se att filerna finns där.
  5. Klistra in repots adress i inlämningsrutan i itslearning.
Provet kommer dagen efter

Deadline är måndag 5 oktober kl 23:59. Provet är tisdag 6 oktober och prövar samma innehåll. Att göra klart uppgiften är den bästa provförberedelsen som finns – se vad provet prövar.

8. Vanliga misstag

MisstagVad som händerUndvik det så här
Alla övningar på en sidaEtt fel gör att ingen övning går att visaFyra sidor, en per tema
Samma variabelnamn i två övningarCS0102: already contains a definitionPrefixa med övningsnumret
summa deklareras inuti loopenSvaret blir sista värdet i stället för summanDeklarera utanför loopen
Heltalsdivision där decimaler behövsSnittet blir 4 i stället för 4,6(double)summa / antal
Klassen har fält som Fält1, Fält2Sänker betyget – visar att domänen inte är genomtänktBestäm vad klassen föreställer först
Uträkningar mitt i markupenSvårläst, och sänker på C-nivåFlytta till en metod
int.Parse på något användaren skrivitSidan kraschar på fel indataint.TryParse
Allt committat sista kvällenHistoriken visar inte arbetetCommitta efter varje övningspass