да ничем, можно даже arrTasks = @[];
это синтаксический сахар, который экономит время разработчика. Со стороны это выглят, что Вам не лень набрать полную форму выражения и Вы не цените своё время. С миру по нитке, бедному рубаха. за день можно съэкономить 5 минут времени и их провести в баталиях и срачах на доу или любом другом месте.
ну так может это Ваша область? я вот на рубях иногда скрипты делаю, они вообще критике не поддаются и мне стыдно за них. Но они свою работу выполняют и всех это устраивает.
А если посмотреть на это с другой стороны? довольно часто, нет прямого общения у кандидата с авторами данного задания. Часто данный вид коммуникаций идет через посредника (рекрутер или же представитель компании) и есть временная задержка в ответе. Вот у меня был такой опыт, довольно простое тестовое было, дали 1 неделю, но вот ответ на свои вопросы я получис спустя 4 рабочих дня.
а ну да. всё на js. а для андроида можно и на кодове или вообще вебвьюхами.
эм, тобишь всёравно надо писать 2 апки? так может под айфон сразу на норм платформе, без костылей?
а вот у меня будет пару вопросов. В идеале, хотелось бы услышать представителя DOIT, но можно и мнение стороннего архитектора или коллег по цеху.
1 — начну с п3, организации работы в оффлайне.
Give a user an ability to use basic functionality (from 1 step) without a network connection and
synchronize data with remote service upon network availability. ( Использование механизмов платформы для аутентификации? А может какой другой хитрый способ? Вот же ж она — возможность проявить креатив и умение делать хитрые синхронизации данных. А поле для оптимизаций то какое!)
Я бы задал бы ряд вопросов ибо тут не всё однозначно, ибо данное апи не предоставляет возможность получить дельту событий. И тут у меня тьма вариантов, как выкрутится.
а — забить болт и не делать
б — запросить делать апи и обосновать зачем оно надо. Если нет, то идем в п. а (мой вариант)
в — сделать условно примитивный офлайн мод, просто записывать в очередь предполагаемые запросы и при появлении инета, отправлять их на бек. Этот вариант не идеален тем, что я могу легко перетереть изменения с бека.
г — хранить все данные локально в coredata или realm. написать какой-то синхронизатор, который дампит все таски и при изменинни их, делает запросы на бек. Это довольно сложно и не эффективно при большом объёме данных.
2 — сортировка тасков. Это 2 скрин. тут возникает 2 вопроса: А как упорядочены данные с бекенда? и как будет изменяться список, если я догрузил след страницу (апи предоставляет паджинацию). Приведу конкретный пример, допустим апи нам возвращает список тасков, отсортированным по времени. Пользователь решил отсортировать список тасков по приоритету. Даллее он решил догрузить страницу, что дальше? объединили с текущими данными, отсортировали снова и показали новый список? или инные варианты поведения?
3 — я этот пункт писал выше в коментах, но повторю: имхо, требовать ipa сборку несколько не уместно. Я бы убрал данный пункт.
В целом же, задание вполне ок, у нас оно намного проще, но у мы его даем с немного другой целью
мне кажется, что вы попутали авторство вышеуказанных цитат.
ну это же прекрасно. У ТС есть однодумец, а значит, существует вероятность, что их больше 2 и они смогут работать в команде, разделять такие практики программирования и тд. Вот только бы хотелось, чтобы не пересекаться с ними за пределами доу...
Но Вы же мне вежливо отказали dou.ua/...rums/topic/26482/#1524076
мне за Вас тестовое сделать? найдется ли у Вас время, его покритиковать?
ну там еще очень сильно в глаза бросается переиспользование ячеек...
должен признаться, пару недель назад на глаза попала статья www.smashingmagazine.com/...-performance-tricks-apps и тогда я был сильно удивлен капитанскими советами. Особенно первый пункт. Я был сильно удивлен, что кому-то в голову приходит каждый раз инициализировать однотипную ячейку и не переиспользовать старую. Конечно же, есть исключения, но это совершенно другой случай.
Осмелюсь предположить, что ход Ваших и моих (а также части участников данной темы) не совпадает. Удачи вам в поисках работы и поиске команды, которая будет разделять ваш подход к разработке ПО. Пожалуйста, отпишитесь, как найдёте работу (без указания работодателя).
ну можно начать с habr.com/...ompany/badoo/blog/281162 и developer.apple.com/...vPedia-CocoaCore/MVC.html
по факту, mvc хватает в 80% случаев. всё остальное — это уже случаи, когда VC разрастаются и надо их упорядочить. Отдельно могу упомянуть крайние случаи с VIPER или RIB (github.com/uber/RIBs) — это когда у тебя сотни гребцов и нет времени определять, что и кто делает. Тут жестко расписаны обязаности и если их соблюдать, то можно сходу понять, где и что как работает. Порой это добавляет очень сильный оверхед, который не надо многим апам.
«вы плохо читали код» ©
там же комент был dou.ua/...rums/topic/26482/#1525579
давайте не думать о человеке плохо. 0 не было в изначальном тз, так что все правки в след спринте
за не имением опросов на коментах, сделаем так
а как Вы авторизуетесь в форме ввода пароля Вашего любимого сайта? данные с вебформ (логи и пас) всегда идут в открытом виде, а сам трафик принято шифровать. У вас есть https и этого достаточно.
а зачем Вам пароль хранить? у Вас есть токен. Вы его получили 1 раз, дальше его и используете. Токен положили в кейчен. У Вас есть альтернативные способы? раскажите, пожалуйста
а зачем это делать на клиенте? в тз это не указано, юзер ввел 1 как пароль, ну и шлите его. Бек разрулит. Вам предоставлен пример ошибки, на него и ориентируйтесь. Это вполне реальный случай, когда меняется критерии для пароля и тогда не надо обновлять логику на клиенте.
а зачем Вам об этом думать? от вас это не просили
зачем телепатировать? Вы могли же спросить.