Skip to content

Latest commit

 

History

History
94 lines (69 loc) · 6.1 KB

lecture_02_cleancode.md

File metadata and controls

94 lines (69 loc) · 6.1 KB

Clean code

Torsdag 5:e mars 2020

Denna lektion handlar om hur vi kan producera kod som är lätt att läsa och underhålla, också kallat Clean Code. För att uppnå Clean Code kommer vi i denna lektion att fokusera på best practice för kod, enhetstestar och SOLID principen. Detta bygger på lektion 18 och lektion 22 i C#-kursen.

Lektionsplan

Lektion från kl. 8:30 till kl. 16:30

  • 8:30 Uppsamling från förra lektion
    • Boarding card
  • 9:00 Introduktion av dagens ämnen
  • 9:30 Grupp diskussion av dagens ämnen
    • Mindmaps (30 min)
    • Rotation av mindmaps 5 min per grupp (40 min)
    • Förberedelse av presentation (10 min)
    • Presentation 2 min per grupp (20 min)

Lunch 12:00 till 13:00

  • 13:00 Programmeringsövning i grupp, Barista försatt
    • Finns i GitHub classroom
  • 16:00 Avslutning och frågor i klassen
    • Landing card
  • 16:30 Slut på lektion

Lektionsteori

Teorin inför denna lektion är det som finns i Viktig kurslitteratur eftersom det mesta innehåll till denna lektion primärt är teoretisk.

Viktig kurslitteratur

Detta är litteratur som är bas för denna lektion, detta bör läses innan man går på gång med lektionsteorin.

Kod best practice

Naming

Automatiserad test (Enhetstest / Unittest)

SOLID

Bakgrunds litteratur

Detta är litteratur som är frivillig, och som kan kan används till at få en djupare insikt i ämnen i klassen.

Automatiserad test

Kod best practice

What is clean code?, från artiklen av Grady Booch:

Clean code is simple and direct. Clean code reads like well-written prose. Clean code never obscures the designer's intent but rather is full of crisp abstractions and straightforward lines of control.

Martin Fowler in Refactoring: Doing Design After the Program Runs:

Any damn fool can write code that a computer can understand, the trick is to write code that humans can understand.

SOLID

Inversion of Control (IOC) och Dependency Injection (DI):

States in code