ТЗ?)
Я его уже отправил на проверку,просто интересно услышать фидбэк от человека,который имеет опыт работы в команде разработчиков))
Конечно
https://github.com/YanSakhnevich My projects -> Landmarks App Буду очень благодарен за фидбэк)) можно в личку,чтобы здесь никому не мешать)
а че не дать прямую ссылку на проект то?
https://github.com/YanSakhnevich/Project_Landmarks-UIKit- За рулем просто,простите))
if isFavorite { image.isHidden = false } else { image.isHidden = true } че за прекол
cell.configureCell(title: viewModel.resultsArrayFiltered[indexPath.row].name, imagePreview: viewModel.resultsArrayFiltered[indexPath.row].imageName, isFavourite: viewModel.resultsArrayFiltered[indexPath.row].isFavorite) почему нельзя было сделать let model = viewModel.resultsArrayFiltered[indexPath.row] ? красивее код был бы…
Полный ревью могу сделать по позже , просто хочу помочь так как вижу себя в тебе 1) Комментарии должны быть толковыми 2) История гит не очень хорошо смотрится - через feature/ создавай ветки 3) Добавь какой нибудь ещё CI / CD
Было бы хорошо предложить собственное решение или объяснить почему это плохо
всмысле?? прикалываешься что ли?))
Ну человек не понимает по этому так пишет , надо объяснить же )
Гениально)) без шуток) Я пропустил этот момент,потому как внедрял MVVM на последнем этапе. Спасибо)
код выглядит неухоженно, много лишних пробелов, много тупого кода if isFavorite…. хотя это в одну строчку может быть image.isHidden = !isFavorite
О каких пробелах идёт речь?
Ну такое объяснение лучше 👍 коротко , понятно и по делу
let viewController = DetailViewController( viewModel: viewModel, nameText: viewModel.location.name, parkText: viewModel.location.park, isFavorite: viewModel.location.isFavorite, stateText: viewModel.location.state, imageNameText: viewModel.location.imageName) Очень странная инициализация
Аргументы?) Чтобы знать почему странно и не натыкаться на это
Ещё нетворк лэер не должен переводить completion на main queue
Тебе по неймингу уже писали но добавлю. У тебя есть state описывающий состояние. И есть метод с аргументом state: Bool. 1 по любому код стайлу переменные аргументы и тд типа бул так не именуются. 2 сигнатура не соответствует тому что выполняет метод
ты про это? а почему не должен? это как-то плохо скажется в дальнейшем или просто моветон?
NetworkDataFetcher
да,на нейминг мне многие указывали,спасибо)
Не должен по тому что это не его ответственность. + это side effect
спасибо,исправил) может немного оффтоп, а что такое side effect?
Ты за рулём пишешь код? 😅
https://ru.m.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B1%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D1%8D%D1%84%D1%84%D0%B5%D0%BA%D1%82_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
слушай,взглянул на код и на твой коммент и возник вопрос. Если решать задачу как ты говоришь, не получится ли повторная инициализация модели при создании ячейки? просто в моем случае когда идет сбор данных для ячейки модель уже была инициализирована ранее,и тут я просто к ней обращаюсь. или я ошибаюсь?
ты кажый раз обращаешься к массиву что бы вытащить модель я говорил 1 раз вытащить модель из массива и ее юзать
Обсуждают сегодня