172 похожих чатов

Коллеги, привет. Никто не хочет покритиковать тестовое задание? Как по

мне — сделано ок, но работодателям не нравится https://github.com/pavelgubarev/openWeather . Хочу сделать лучше, но не знаю, что править. Спасибо!

14 ответов

28 просмотров

CitiesListViewController кто ему данные провайдит? Протоколом не закрыт

Pavel-Gubarev Автор вопроса
Kei Sidorov
CitiesListViewController кто ему данные провайдит?...

CustomTabBarController ему провайдит данные. то есть презентер (через протокол) даёт данные главной вьюхе (CustomTabBarController), а она уже отдаёт дочерней CitiesListViewController. Или это не ок?

Pavel Gubarev
CustomTabBarController ему провайдит данные. то ес...

Не ок. CustomTabBarController — по хорошему он должен быть «тупым» отвечать только за инициализацию и навигацию. Грузить данные должен тот экран, где они будут показаны. Если эти данные используются на нескольких экранах и их нет надобности грузить заново, то нужно сохранить в сервис какой-нибудь. А потом брать эти данные там, где нужно. Если ты заявляешь что у тебя есть архитектура и она kind-a-MVP то презентеры должны быть у каждой самостоятельной вьюхи (вью контроллера). Вьюха является самостоятельной если она несет функциональную нагрузку, а не создана для скрытия кода. (Пример функциональной вьюхи — ячейка таблицы, пример скрытия кода — кастомный свитчер, кастомный лейбл)

Pavel-Gubarev Автор вопроса
Kei Sidorov
Не ок. CustomTabBarController — по хорошему он дол...

А разные презентеры могут друг о друге знать? Допустим, у меня задача: подгружается таб бар. В этот момент надо загрузить данные в одну из (невидимых ещё) вьюх, чтобы при обращении к ней уже всё было красиво. Я думаю так — таббар дёргает свой презентер, он дёргает презентер невидимой вьюхи и этот последний презентер уже даёт данные для невидимой вьюхи. Это нормально, «красиво»?

Pavel Gubarev
А разные презентеры могут друг о друге знать? Допу...

Да, презентеры могут общаться друг с другом в рамках дозволенного. Под дозволенным я имею в виду логичность происходящего, четко границу описать в сообщении сложно. В твоём кейсе вполне ок если родительский по сути презентер (таб бар контроллера) будет знать о своих «детях» и что-то им провайдить. В другую сторону (от детей родителю) тоже ок, но я бы рассмотрел вариант ввести какую-то абстракцию, а не держать ссылку прям на класс/протокол родителя.

Pavel-Gubarev Автор вопроса

открыл 1 файл, мне тоже не нравится

Если интересно, могу за скромное вознаграждение в 1000 рублей сделать ревью

а где тесты? точнее, тестов нет, зачем тогда папки? это сразу отталкивает, хочется посмотреть что и как тестируется, а там пустые файлы. мне бы тоже не очень понравилось

а работодатели не говорят что им не нравится?

Pavel-Gubarev Автор вопроса
Andrey Yastrebov
а работодатели не говорят что им не нравится?

Не все себя утруждают подробными ответами 🙂 иногда отвечают, но общими словами типа «есть нарушения принципов СОЛИД».

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта