Skip to content

Latest commit

 

History

History
52 lines (40 loc) · 2.87 KB

z104.org

File metadata and controls

52 lines (40 loc) · 2.87 KB

Z104: Inlupp 4

Redovisa förståelse för objektorienterad programmering i Java

Detta är det andra Java-program som skrivs på kursen. Precis som senare i C-fasen ställer vi högre krav på idiomatiskt korrekt Java än för föregående program. Förutom att programmet skall fungera korrekt skall det som vanligt:

  • inte kraschar vid körning med valid indata
  • skyddar sig från felaktig indata på lämpligt sätt och i lämplig utsträckning
  • inte behöva kompileras om när indata ändras
  • ha ett lämpligt förhållningssätt till NIH och DRY

Med icke-idiomatisk Java avses för enkelhets skull:

  • följ Javas namngivningsstandard (camelCasing, Klasser/Interface har stor begynnelsebokstav, metoder liten begynnelsebokstav)
  • endast en klass per fil, förutom inre och nästlade klasser
  • equals()-metoder skall vara symmetriska (a.equals(b) == b.equals(a))
  • använd public static final för konstanter eller enums

Ytterligare icke-funktionella krav är

  • inga globala variabler
  • inga magiska nummer (t.ex. 128 står överallt i koden)
  • kodens indentering lyfter fram kontrollflödet
  • ingen “machokodning” (t.ex. omotiverade oneliners)
  • återkommande logik är utbruten och inkapslad i egna metoder eller klasser
  • namn på filer, variabler, funktioner, etc. skall hjälpa läsaren att förstå deras innebörd, och beteende (t.ex. vilka värden som är rimliga, eller vad man kan förvänta sig från ett funktionsanrop)
  • har tydligt dokumenterade gränssnitt som går att förstå utan att läsa koden och helst är formaterade med Doxygen eller JavaDoc
  • programmet går att bygga och testa med en makefil (make all och make test)
  • programmet har enhetstester för alla viktiga metoder
    • som inte bara skrevs efter att programmet var klart “för att ha tester”
    • som använder junit
    • där varje test prövar en sak, och flera tester görs ej i samma testfunktion

Vidare måste en annan grupp ha granskat uppgiften innan den kan bli helt godkänd (jämlikt P45).

**Ändring 2016:** meningen “Vidare måste en annan grupp ha granskat uppgiften innan den kan bli helt godkänd (jämlikt P45).” ersätts av “Vidare vore det väldigt trevligt, stimulerande för djuplärningen, och kanske också positivt för programmets kvalitet, om en annan grupp har granskat uppgiften innan den redovisas (jämlikt P45).”

Inlämningsinstruktioner finns i uppgiftstexten!


Report a bug on this achievement? Please place an issue on GitHub.