Comments 6
Поправьте, пожалуйста, код в соответствии с официальным стайл гайдом: https://kotlinlang.org/docs/reference/coding-conventions.html#class-header-formatting
Конструкторы выглядят неестественно для котлин разработчика:
class ContentPresenter(private val repository: ContentRepository,
private val view: ContentView) {
Лучше (и рекомендуется):
class ContentPresenter(
private val repository: ContentRepository,
private val view: ContentView
) {
UbuRus спасибо за комментарий. Поправил в гите и в статье.
Зачем делать класс и открывать его, если можно сделать интерфейс и несколько реализаций?
interface CoroutineContextProvider {
val Main: CoroutineContext
val IO: CoroutineContext
}
class AppCoroutineContextProvider : CoroutineContextProvider {
override val Main: CoroutineContext by lazy { UI }
override val IO: CoroutineContext by lazy { CommonPool }
}
class TestContextProvider : CoroutineContextProvider {
override val Main: CoroutineContext = Unconfined
override val IO: CoroutineContext = Unconfined
}
Спасибо за комментарий. В данном случае можно использовать и ваш способ, но для этого необходимо создать ещё одну абстракцию в коде в виде интерфейса. Я предпочитаю избегать лишних абстракций по возможности. Плата за это — добавление модификатора open
к имени переменных. Нам в любом случае приходится делать это, чтобы можно было использовать библиотеку mockito
.
Спасибо за примеры.
Насколько сложно использовать Mockito вместе с котлином?
Насколько сложно использовать Mockito вместе с котлином?
Sign up to leave a comment.
Юнит тесты при использовании корутин в Android приложении