Loading...
gngeorgiev avatar gngeorgiev 90 Точки

[Course] JS OOP - Впечатления/оплаквания/предложения - Ноември 2014

Здравейте, тъй като не видях подобна тема, поради неизвестни за мен причини, а още от изпита искам да я напиша викам да си излея душата. Някой от нещата ги написах в анонимната анкета, обаче след оценяването има нови повдигнати въпроси. А и не ме интересува дали съм анонимен или не.

Та по темата, да започнем още от началото. Аз бях на последния ден(мисля, не ги следя много много) - http://judge.softuni.bg/Contests/46/JavaScript-OOP-15-Nov-2014. Там интересното беше, че доста време не успях да изкарам повече от 60 точки, под повече време разбирайте +3 часа. Следователно аз си викам, че тва е няква много сериозна моя грешка и тръгвам да търся дълбоко проблема. Разбира се, не успях, и въпреки, че бях доста сигурен в JS знанията си, си тръгнах сразен. Непосредствено след изпита разбирам, че е трябвало да използвам някакъв си метод, че да изкарам изхода по един определен начин. Добре бе, аз от къде да знам(няма го в условието)? След това са пуснали отново тестовете без тези проверки и виждам, че имам 90 точки. Добре, хубаво, имам 90 точки обаче аз, като човек който не пише/предава/проверява домашни и не спами във форума разчитам единствено на изпитите да изкарам точките си и се чувтсвам пр***ан, защото едно е да търсищ грешка от за 40 точки, друго е да търсиш за 10.

Хубаво, това го изяснихме, сега дойде време за оценяването. Отварям си профила и гледам следния коментар на задачата:

"В compare фукнцията a.getStartDate() === b.getStartDate() сравнява по референция, т.е. трябва да се вземат датите с .valueOf(). Не се използва дадената formatTravelsQuery фукнция за форматиране на изхода. Всичко останало е отлично."

Тук са ми намалени точките, защото не съм ползвал въпросната функция. Добре бе, аз да не съм пророк или пък да ви науча всичките функции в Engine-a. Дошъл съм на изпит, а не на гадаене. Знам, че ще ми кажете, че в практиката трябва да се ориентираш в чужд код. Е познайте, знам, обаче там имам ясни спецификации и знам какво трябва да стане вместо да налучквам 3 часа.

 

Абсолютно съм отворен за всякакви въпроси и отговори.

 

Като final words, ще кажа, че това не е първия слаб изпит обаче тоя беше много зле и силно бих препоръчал на трейнърите да се стегнат. В академията на Телерик би било по приемливо да има такива неща тъй като там е безплатно(въпреки, че не е имало), но тук даваме пари и очакване нещо на ниво.

Тагове:
4
JavaScript Advanced 01/12/2014 15:38:12
Samuil.Petrow:
Темата е дублирана: https://softuni.bg/forum/2584/Exam-JS-OOP-Vpechatleniya-ot-izpita
RoYaL avatar RoYaL Trainer 6849 Точки

Здравей,

Това е изпит който съчетава две неща. Добрите практики за качествен код и обектно ориентирано програмиране заедно със синтаксиса и парадигмата на ООП в Javascript.

В първата част е много важно да започнеш да се ориентираш в ЧУЖД КОД. Т.е., да - ЗАДЪЛЖИТЕЛНО Е да научиш Engine-а.

Тъй като самото СофтУни е много практическо насочено, е напълно оправдано да бъде така.

Тук не става въпрос за пророчество. Функцията е от 4 реда и се вижда много ясно какво прави.

Ако работиш някъде, ще попадаш на много недокументиран код. Аз честно казано не бих бил съгласен, да работя с колега, който всеки път когато се налага да направи нещо, си пише нови функции за това, при положение че приложението вече има готови такива.

Първо, че това ще отнема от продуктивността му, т.е. ще се бави в писането на вече имплементирана логика, и второ кодът ще се превърне в дублиран. Помните ли правилото в условието "AVOID CODE DUPLICATION" ? :)

А какво ако имаме 10 такива колеги? Всеки един ще напише в кода по една функция за форматиране на изхода, която прави точно същото като останалите ДЕВЕТ?

Опитай се да се поставиш в реална среда, а не просто да отидеш на изпита, за да си изкараш точките.

Успех, отворен съм и аз за дискусия.

4
gngeorgiev avatar gngeorgiev 90 Точки

Не ми обяснявай какво е да си в реална среда и да се поставя в такава, защото 2 години(не е много но все пак) почти съм в нея и малко или много са ми познати тия неща. Това, което казах е по скоро не относно това, че не искам да науча всичко в Engine-a, а за това, че трябва да налучквам изхода, който никъде не е опоменато какъв трябва да е. Ако прочетеш по-внимателно и не се хващаш за първото нещо, с което в първия момент не си съгласен може би ще разбереш по-добре смисъла на темата :)

 

П.С. Минуса не е от мен ;) Just saying

0
01/12/2014 12:13:22
RoYaL avatar RoYaL Trainer 6849 Точки

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

Нека само ти спомена, че в условието за имплементиране на командата НЕ пише въобще какъв трябва да е изхода. Което е огромен жокер, че трябва да работи като останалите команди от този тип. Примерно "list", която е в непосредствена близост до "filter" в switch-a. Това не е налучкване, а консистентност.

На мен дори не ми и мина през ума да се опитвам да измислям изход. Директно си ползвах функцията и не съм си и помислял, че може да стане по друг начин, т.е. сам да си го напиша.

2
01/12/2014 12:20:30
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

 

Не знам как не си я намерил... Ще трябва да локна текущата. Иначе, че изпита беше под всякаква критика е ясно, ООП-то беше до 50-те точки, оттам нататък дописване на функционалност, която в реална среда се прави в общия случай с един метод (видиш ли защо да ни дадат да ползваме underscore като може да се хамалим, а да - развиват ни алгоритмичното мислене) и ориентиране (и на мен пророчество повече ми харесва, изгубих 30 мин да парсвам датите например, после ми го има като коментар също като на теб). Ръчната проверка също не мисля, че е адекватна, пример:

"Филтрирането не взима предвид типа, сортирането също не е пълно." - реакцията ми беше - "Кажи честно, брат, не знаех, че не съм довършил функцоналността..." - мислех, че judge следи за тия неща, но уви отнети са ми точки повторно за едно и също нещо.

3
02/12/2014 13:22:38
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.