Använd vänsterpil och högerpil för att navigera
Eller Ctrl+P för att skriva ut till PDF (eller på papper)
Nätverksdagen
Imorgon 13 – 16
Klass med enbart instansmetoder
class Something {
public void DoStuff(...) {
...
}
}
static void Main(string[] args) {
Something something = new Something();
something.DoStuff(...);
}
Klass med enbart statiska metoder
class Something {
public static void DoStuff(...) {
...
}
}
static void Main(string[] args) {
Something.DoStuff(...);
}
Metod med instansvariabler
class Something {
public int X { get; set; }
public int Y { get; set; }
public void DoStuff() {
...
}
}
static void Main(string[] args) {
Something something = new Something();
something.X = 12;
something.Y = 34;
something.DoStuff();
something.X = 56;
something.Y = 78;
something.DoStuff();
}
Metod med argument
class Something {
public void DoStuff(int x, int y) {
...
}
}
static void Main(string[] args) {
Something something = new Something();
something.DoStuff(12, 34);
something.DoStuff(56, 78);
}
Syftet med instansvariabler
Tillstånd
Värden som ändras över tiden och behöver vara tillgängliga inuti hela objektet (och eventuellt andra objekt)
Om något bara behövs en gång eller på ett ställe, använd argument
Återstående föreläsningar
Versionshantering med Git
Testning
Debugging
Hur .NET är uppbyggt
Algoritmer
Funktionell programmering i C#
Föreläsning 23
Versionshantering med Git
Automatisk versionshantering
Varje ändring
Var X:e minut/sekund
Dropbox, Google Drive
Manuell versionshantering
Versioner skapas uttryckligen av användaren
Git, Subversion (SVN)
Arbetsflöde
Implementera en ny feature
Testa
Skapa en ny version
Hur Git är uppbyggt
Ett projekt är en sekvens av versioner
Repo(sitory)
Varje utvecklare har fullständiga versionshistoriken på sin dator
En central server har också fullständiga versionshistoriken
Remote
Det kan finnas flera "centrala" servrar
I teorin behövs inte någon central server
Utvecklarna väljer själva när de ska synkronisera med servern
Push/pull
Det man gör sparas inte automatiskt på servern!
Risker med Git
Glömma filer
Andra utvecklare saknar filer
Ingen backup vid dataförlust
Glömma synkronisering
Andra utvecklare saknar versioner
Ingen backup vid dataförlust
Mergekonflikter
Extra arbete, ofta nära release
"Firmans Git-expert"
När man går bortom grundfunktionaliteten