Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 2.23 KB

Y68.org

File metadata and controls

44 lines (33 loc) · 2.23 KB

Y68: Redovisa en fungerande projektuppgift

Se övriga Y-mål som alla hör till projektet!

Utöver att vara ett seriöst försök att implementera specifikationen fullständigt, modulo “frivilliga utökningar” skall ert program:

  • fungera på avsedda plattformar
  • inte göra odokumenterade eller omotiverade avsteg från specifikationen
  • vara fritt från minnesläckage (verifieras t.ex. med valgrind)
  • inte krascha vid körning med valid indata
  • skydda 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

Ytterligare icke-funktionella krav är att:

  • kodens indentering lyfter fram kontrollflödet
  • ingen “machokodning” (t.ex. omotiverade oneliners)
  • återkommande logik är utbruten och inkapslad i funktioner
  • 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
  • programmet har enhetstester för alla viktiga funktioner
    • som inte bara skrevs efter att programmet var klart “för att ha tester”
    • som använder cunit
    • där varje test prövar en sak, och flera tester görs ej i samma testfunktion
  • konsekvent tillämpa en kodstandard
  • ha en vettig git log
  • överensstämma med aktiviteter på Trello

Lämna in detta program genom att skriva i readme.md-filen i roten på **gruppens** GitHub-repo vilken commit som var inlämningen, alltså:

Tagga projektuppgiften med project_done


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