Резултати от "ръчната" проверка на задача "Cosmetics Shop" - Изпит ООП 2015


36

Здравейте,

"Изключително-уморително-жестоко-ръчната" проверка мина и за първата задача от изпита по ООП 2015 г. - Cosmetics Shop. 

Можете да видите всички тестове тук: TESTS

По моята скромна преценка са много щедри. :)

Детайлните репорти за всеки един от вас има тук: REPORTS

Ако не се намирате в списъка - решението е било твърде оскъдно, неработещо или с твърде много проблеми - имате 0 точки за съжаление.

Скоро и бисери... :D

Поздрави,

Ивайло




Отговори



1
Ах тези Null Проверки >.< 



0
да и аз това викам :Д Но все пак не мога да се оплача : )

от tabula (2134 точки)

0
Всичко ми изглеждаше толкова добре написано, те ми намериха хиляда грешки.. :D 




1
Еееха, благодаря, щедри са наистина :) Очаквах да се скараш за неизползвани валидатори или за невръщане на new List(this.blabla) (което не сработи при мен).

от pliok (553 точки)


4
Те тези валидатори и константи мислех да ги изтрия така или иначе, но ги оставих. Интересно ми беше чисто като социален експеримент колко хора ще ги използват. :D

от ivaylo.kenov (30760 точки)

0
Всичко щом е готово се използва... това малко като ако ще и шамар да е на аванта да е :D 




0

Page not found дава при мен което и txt да отворя

EDIT: Оправи се 


от Ilian987 (387 точки)


0
Refresh-ни страничката с репортите.

от ivaylo.kenov (30760 точки)


1
Леле, Иво, тия точки си ги сипал с шепите, не очаквах толкова много О_О (не че се оплаквам де!) и пак - благодарим за бързата проверка!!!



3

Определено са щедри тестовете Иво! За грубите грешки, които съм допуснала бих се самооценила поне на половина :D Благодаря за бързото (и великодушно ) оценяване!

А от чисто любопитство: каква е формулата за изчисляване на точките? Защото виждам, че не просто сбор от точки за отделни действия, а има и допълнителни сметки. От определен брой грешки нагоре се реже допълнително ли? :D

Edit: разконспирирах ги :D




1
Не са ли просто точките, които дава даден тест, *2?

от topalkata (6442 точки)

0
Ами по мои наблюдения, на някои тестове дава 2 точки, а взима 4. И предполагам, че има нещо такова, звучи ми в стила на Ивайло :D Пък и е доста адекватно, по мое мнение :)



0
Wooow! 
Благодаря и на Вас и на Ники за изключитлно бързото проверяване. Не очаквах за 2 работни дни да се проверят всичките задачи! При това и много щедро оценени задачи! Сега като си виждам къде см сгрешил вече наистина ще взема да удрям по 1 ракия преди изпид да не правя малоумщини от притеснение на всеки изпит.
Поздрави,
Митко

от The.Bager (369 точки)


1
Не подозирах, че ще излезнат резултати толкова бързо, че при това и с разбивка по точки! Едно голямо евала!

от stoimeniliev (580 точки)


0
Просто за информация как е трябвало да се проверят ингредиентите? Аз съм ги foreach-нал и съм ползвал валидатора за всеки ингредиент. 

от gasho (0 точки)


0
всяка от съставките да не е по-дълга от 12 символа. Иначе ти се дава List от съставки, той целият ще е по дълъг от 12 символа.

от vvn050 (593 точки)

1
Обикаляш ги всичките и ако намериш някоя, която не е валидна, хвърляш exception. :)

от ivaylo.kenov (30760 точки)



0

10x, златен си :)

А как ме е яд за тоя абстрактен клас product - бях го направил както трябва и после при компилацията в буйна паника го "оправих" и Аз не знам защо точно...


от LaForce (756 точки)


0

Здравейте!

Имам въпрос относно тестове:
"Class Shampoo inherits abstract IProduct" и
"
Class Toothpaste inherits abstract IProduct".

Ако класовете Shampoo и Toothpaste имплементират съответно IShampoo, IToothpaste, и

наследяват абстрактния клас Product, но не IProduct (IShampoo: IProduct, IToothpaste:

IProduct, Product: IProduct), това не би трябвало да е функционална или ООП грешка,

сама по себе си. Все пак изпита е по ООП, а не по КПК, където това най-вероятно ще

бъде санкционирано. Освен това, при положение, че абстрактният клас Product е имплементирал

IProduct => Shampoo и Toothpaste имплементират (индиректно) IProduct. Следователно ако имаме

горните условия, защо тестовете да се броят като грешни?

Другият ми въпрос е относно тестовете за валидиране на имената.
Ако в set-овете нямаме проверки за валидността на данните, които ни се подават, НО имаме

проверки за валидни данни в CosmeticsFactory, което, според условието, е единственото място,

от където ще се създават нови обекти (set-овете са private => данните в тях не се променят,

освен в конструктура на класа). Тогава, защо тестовете да се считат за грешни?

Предварително благодаря,

Божидар Широв ^^



от Bobsun (15 точки)


5

Тестовете по първата част са много "ларш". Те проверяват дали наследяваш абстрактен клас, а не конкретен интерфейс:

GetClassImplementingInterface(IShampoo).BaseType.IsAbstract;

Което означава, че ако имаш клас Pesho, който е абстрактен и шампоаните ти го наследяват, тестът ще мине. Погледнах ти кода - не си сетнал Product да бъде абтрактен.

Относно валидациите - не е работа на factory-то да валидира данните. Всеки клас трябва да се грижи за собствения си state и не трябва да позволява да не бъде валиден. Ако някой някога реши да ти инстанцира класовете някъде извън CosmeticsFactory, как ще ги валидираш.


от ivaylo.kenov (30760 точки)

2

Окей! Благодаря за отделеното време. Следващият път - повече!

Божидар Широв :)


от Bobsun (15 точки)