Detta är det första Java-program som skrivs på kursen. Precis som i början av C-fasen ställer vi inte några höga krav på att man skall skriva idiomatiskt korrekt Java redan här, utan fokus ligger på att få ett fungerande program som:
- 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
- inte ha en massa halvtomma arrayer utan använda länkade strukturer för minneseffektivitet
- ha ett lämpligt förhållningssätt till NIH och DRY
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
ochmake test
)
Inlämningsinstruktioner finns i uppgiftstexten!
Report a bug on this achievement? Please place an issue on GitHub.