JS Applications разминаване в условието на задачите


8

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

Учудих се, когато колеги ми казаха, че в тяхното условие присъства такова нещо за дължината. Колега, който беше на изпита следобед ми изпрати файлът, с условието, където се споменава за допустимата дължина на потребителското име. Може да видите, скрийншот от моя и неговия файл пуснати в Diff Checker. Има едно разминаване и то е точно, че в моя файл няма условие за допустима дължина -

Валидация наистина нямам никаква, просто само неспоменаване на абсолютно нищо такова в условието ме накара да мисля, че няма да се гледа. Не е много коректно в едното условие да го има, а в другото не. Надявам се да няма разминавания и в другия файл, който не съм сравнявал

P.S. Сървърът за качване на картинки не бачка и връща грешки




Отговори



0
Да, на сутрешния изпит липсваше и аз обърнах внимание на Николай Костов, тъй като загубих 30 мин в чудене защо не иска да ми регне юзер с юзер 1 и парола 1....Тогава той го каза на висок глас, че трябва да е между 6 и 40, но това беше в зала Ultimate.

от penjurov (1466 точки)


0
На изпита от 10:00 ч. в зала "Enterprise" също казаха, че трябва да е между 6 и 40 символа, но устно. Не знам дали всички са чули, все пак някои са със слушалки през цялото време.

от LERRY (582 точки)


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

от Yasen (529 точки)

0
Да, когато е устно, не е сигурно, че всички ще разберат. Независимо от слушалките. :)

от LERRY (582 точки)



1
Тц мн тъпо. Като го нямаше в условието и реших, че е достатъчно просто да изкарвам на потребителя friendly съобщенията на грешките от сървъра, които си бяха адекватни - невалиден username, иска се ауторизация и т.н.

от valentin_lozev (1012 точки)


0
:) Да, а няма въпроси за тях :Р Аз мислех, че ще има.

от penjurov (1466 точки)

0
Да, колега, това ми е идеята и на мен. Мислех, че съобщения стигат, не видях и не чух нищо за някакви критерии за валидация и помислих, че не трябва да се занимаваме с това.

от Vazzzz (1380 точки)



3
А каква е идеята да проверявам дали е стринг? Какво друго ще дойде като се вземе от инпут полето : > ? Може да проверяваш за невалидни символи, разни такива работи.

от lostm1nd (846 точки)


0
Може да дойде динозавър :) (сори малко е спам, но не се стърпях)

от dimo.petrof (2887 точки)

0
Да, и аз това си мислех, след като е от input type text и [1,2,3] да напиша ще си го Stringify!

от penjurov (1466 точки)


5
И аз не разбирам защо има критерии за валидация, при положение, че в сървъра се прави такава? Ако бяхме решили да сложим различни позволени символи в нашият username щяхме да получаваме грешка от сървъра. Т.е. се искаше да копи-пейстнем метода от сървъра и в нашия клиент ли?
Тъй като не съм наясно с архитектурата, чие задължение е валидацията на username и password - на клиента, на сървъра, или и на двете?

от Drago (711 точки)


0
По принцип се слага валидация и на клиента, за да няма постоянни заявки към сървъра.


0
А как се знаят ограниченията на сървъра в реална ситуация?

от Drago (711 точки)



3
Аз друго се чудя, при изпита, който Дончо проверява, на въпроса "Използвана ли е услугата GET POSTS", дава направо "Не" въпреки, че пичът си е направил листването на постовете, но просто не е направил филтрирането, не е ли коректно да има и отговор, който просто казва, че си е имплементирано, но без филтрация...

от nkichev (80 точки)


0
Всеки проверява по свое усмотрение. Ако като цяло задачата е направена ОК, не виждам защо човек трябва да се "реже".

от LERRY (582 точки)


0
Филтрация също няма в условието на задачата...... Само е била спомената тук-таме.

от lithical (992 точки)


2

Който е валидирал "Title" и "Body" моля да каже по-какви критерии. Някои явно сме следвали YAGNI принципа :)

За username е ясно (макар, че не беше по-време на изпита, поне сега е ясно).


от dimo.petrof (2887 точки)


0
Аз съм валидирал дали съществуват :) За да не може да праща празни съобщения. Но нито съм проверявал дали са стринг(с input type="text НЯМА какво друго да са), нито дали са определена дължина, просто да са различни от ''.

от penjurov (1466 точки)

0
Аз също правих проверка дали са празни, но друго не съм правил.
var filter = { user: $('#tb-filter-by-username').val(), pattern: $('#tb-filter-by-pattern').val() }; if ((!filter.user) && (!filter.pattern)) { filter = null; }
Правя го така, а после в dataPersistera-a проверявам, ако филтъра falsy, няма филтрация. Дали така трябва да е, кой знае ... :)

от dimo.petrof (2887 точки)



1
Другото интересно нещо е че $("...").val() връща стринг, който се подава директно на register user login и createpost. Кво значи това че трябва да проверяваме дали стринга е стринг?

от nikolap (555 точки)


0
В случая да, но нали можеш да напишеш и това: persister.user.register([1, 2, 3, 4, 5, 6, 7], ['p', 'a', 's', 's']); и метода ще каже, че дължината е коректна и ще прати заявка.

от martin.nikolov (4535 точки)

0
Т'ва е малко като на C# да проверявам всеки път дали конзолата връща стринг ;)

от dimo.petrof (2887 точки)