Detta mål är knutet till den första inlämningsuppgiften. Tekniskt sett är detta inte ett mål på samma sätt som de vanliga målen, men vi undviker ytterligare ett system för bokhållning om vi gör detta till ett mål.
För att vara färdig med inlämningsuppgiften skall du ha utfört alla steg i uppgiftsbeskrivningen förutom de som uttryckligen är frivilliga.
Programmet skall:
- Använda för uppgiften lämpliga abstraktioner
- “Skydda sig” från fel (du skall kunna förklara hur fel hanteras, och motivera valet av mekanism/strategi)
- Dokumentera alla publika gränssnittsfunktioner så att en annan programmerare skulle kunna använda implementationen
- Använda korrekt namngivning (t.ex.
ioopm_
) - Vara indenterat på ett sådant sätt att kontrollflödet är synligt
- Ha relevanta enhetstester som kan köras automatiskt
- Kunna byggas med make eller liknande verktyg
- Inte ha minnesläckage eller använda oinitierat minne
- Inte krascha vid körning med valid indata
- Inga ha några globala variabler
- Inga magiska nummer (t.ex. 128 står överallt i koden)
- 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)
Inlämningsinstruktioner finns i uppgiftstexten!
Report a bug on this achievement? Please place an issue on GitHub.