Kmom03: Applikation

By . Latest revision .

Vi jobbar vidare med klasser och objekt i PHP och bygger en applikation i ramverket Symfony. Detta kursmomentet blir som ett litet miniprojekt där vi problemlöser, designar och implementerar en applikation med objektorienterade konstruktioner enligt MVC.

Vi jobbar med kodstil, kodstrukturer och vi försöker bygga vår kod så bra som möjligt enligt de riktlinjer som finns för snygg kod. Till vår hjälp tar vi ett antal kodlinters som ger oss rekommendationer om hur koden skall skrivas.

(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)

#Läs & Studera

(ca: 1-2 studietimmar)

För att lösa uppgifterna och redovisningen bör du studera enligt följande.

#Föreläsning

Titta igenom följande föreläsningar.

  1. Problemlösning och design av algoritmer för programmerare som visar på olika arbetssätt i hur man kan jobba med problemlösning innan man sätter igång och programmerar. (Flyttad från kmom02 till kmom03).

  2. Hur tänka kring objektorientering och principer om snygg kod? som visar på designprinciper och terminologi som hjälper oss att tänka kring hur vi skapar bra och snygg kod. Inspelad från veckans tisdags-zoom.

#Litteratur

Läs enligt följande.

  1. En resurs som hjälper att förstå vad som menas med “Clean Code” i PHP är “Clean Code PHP”. Det handlar om riktlinjer som hjälper dig att skapa god kod i PHP.

  2. I dokumentet PHP The Right Way, finns en sektion som berör konceptet “Dependency Injection”. Läs igenom den.

#Git och skriva bra commits

Det kan vara en konst att skriva bra commit-meddelande så att man får en bra historik när man tittar på koden via ens commits.

#Övningar & Uppgifter

(ca: 12-16 studietimmar)

Jobba igenom övningar för att träna. Uppgifterna skall utföras och redovisas.

#Övningar

Det finns inga övningar.

#Uppgifter

Följande uppgifter skall utföras och resultatet skall redovisas.

  1. Det finns en tutorial “Get going with code linters in PHP” i ditt kursrepo under example/example/php-linter-and-mess-detection som hjälper dig att komma igång med ett par verktyg för “code linting and mess detection” som ger dig råd om hur du kan städa upp din kod.

  2. Lös uppgiften “Bygg kortspel i PHP och Symfony enligt MVC”. Spara dina filer under me/report och bygg vidare på den webbplatsen.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i din redovisningstext.

  • Berätta hur det kändes att modellera ett kortspel med flödesdiagram och psuedokod. Var det något som du tror stödjer dig i din problemlösning och tankearbete för att strukturera koden kring en applikation?

  • Berätta om din implementation från uppgiften. Hur löste du uppgiften, är du nöjd/missnöjd, vilken förbättringspotential ser du i din koden, dina klasser och applikationen som helhet?

  • Vilken är din känsla för att koda i ett ramverk som Symfony, så här långt in i kursen?

  • Vilken är din TIL för detta kmom?

#Revision history

  • 2022-04-12: (B, mos) Länk till linters och not om problemlösning till kmom03.
  • 2022-04-11: (A, mos) Första utgåvan i mvc-v2.

Document source.