Евгений Мацюк - Пишем тестируемый код
ฝัง
- เผยแพร่เมื่อ 8 ก.ย. 2024
- Ближайшая конференция - Mobius 2024 Autumn, 11 октября (Online), 19-20 октября, Санкт-Петербург. Подробности и билеты: jrg.su/Yu6KNJ
- -
. . .
. Евгений Мацюк, Сбертех - Пишем тестируемый код
Конференция по мобильной разработке Mobius 2016
Санкт-Петербург, 04.06.2016
Как новые подходы и инструменты помогают нам написать тестируемый код.
Супер, опять придется проект переписывать)
😂 Есть такое)
Один из самых полезных докладов!
Для тех, кто (как я) прошляпил ссылку на репу при просмотре доклада, продублирую:
github.com/matzuk/TestableCodeMobius
31:57 топ
Спасибо, отличный доклад! Особенно с теоретической точки зрения(что выделить в интерактор, что в презентер) - годная точка зрения =)
Хотелось бы кое-что добавить к ответам на вопросы:
1. Вопрос про валидацию текста в форме: RxTextView.textChanges эммитит не TextView, а CharSequence и String. Он в себе по идее даже ссылку на TextView не хранит. Так что с ним всё ок ;)
2. Вопрос про лайфсайкл: Moxy, Mosby, Nucleus - они немножечко не об MVP. Их главная задача: связать View с правильным, нужным экземпляром Presenter. По сути, больше они ничего не делают. Они не навязывают вам, что делать во View, а что в Presenter. И тем более они не навязывают вам, что делать в Presenter, что в Interactor, что в Repository. Они не говорят как общаться между Presenter, Interactor. Поэтому можно использовать их посмелей =) ИМХО, конечно ;)
++++-----!---+
Отличный доклад!
Ребят, важные комменты к данному видео находятся здесь - github.com/AndroidArchitecture/AndroidArchitectureBook/blob/master/theory/Theory_article.md
13:45 и немного далее - очень тонко!
Интересно, почему работа с кешем вынесена в Presenter, а не инкапсулирована в более низком Data слое.
Это кэш для UI, а точнее для ручной обработки ЖЦ.
Отличная презентация! Однако, почему не стали использовать UseCase ? Почему не скрыли RxJava из Presenter? В целом молодцы.
У нас Interactor = Use case feature facade. То есть Интерактор - это класс, где каждый публичный метод - это use case.
Использование классического Use case чревато большим количеством ненужного кода.
0 дизлайков поставили хейтеры(!)
все еще целых 0 хейтят(!) =)
Контекст в бизнес слое? Как-то не по папски, почему бы не пробросить наверх, как и исключения?
Да, холиварный вопрос. В КукБуке описали этот вопрос - github.com/AndroidArchitecture/AndroidArchitectureBook/blob/master/practice/Practice_article.md (найти по "Использовать контекст в Презентере и Интеракторе или нет? ")