Изисквания и оценяване
На тази страничка накратко ще ви обясним какво трябва да съдържа вашия проект и кой негов компонент — каква част от точките ще ви донесе ако сте се справили успешно.Какво трябва да съдържа проекта
- Задание
- Нужно е да го пишете, само ако сте си измисляли сами проекта.
- Очевидното: код.
- Кодът трябва да покрива функционалността, описана в заданието. Също така трябва да се държи адекватно във всички слуачаи: грешен потребителски вход, грешки от околната среда, паднал таван. Под адекватно се има предвид следното: ако е възможно — нека работи правилно, а ако не е — да уведоми потребителя по подходящ начин защо не може да работи правилно.
- Unit тестове
- Хубаво ще е тестовете ви да покриват възможно най-голяма част от кода и разклоненията в него. Също така нека са поставени в отделни класове (файлове) в зависимост от логичеката структура на проекта ви.
- Документация
- Всъщност докуементацията никак не е задължителна. Ако смятате, че кодът е достатъчно самоописателен — не се тормозете с обемна документация, кратко описание за ключовите класове/функции ще бъде напълно достатъчна. И все пак смятате, че на четящия кода ви ще му бъде нужен някой и друг docstring, опитайте се да бъдат максимално полезни за четящия и да казват същественото, а не само това, което може да се види с един поглед в кода.
Оценяване
Проверката на функционалността на проектите няма да се прави автоматизирано, което означава че ви се дава свобода да изясните по-дребните детайли.
- 50% от точките, за вeрен и отговарящ на условието код. Ако програмата ви прави нещо друго, което не е описано в условието на проекта — то се смята за грешно.
- 30% за стил, другояче казано: за четим код, лесни възможности за разширяване на програмата ви, достатъчна документация.
- 20% отиват при добрите unit тестове.