@kotlin_lang

Страница 441 из 982
Andrew
04.12.2017
14:46:52
Простите, случайно отправил

Sergey
04.12.2017
14:49:04
а rx и так не нужен, есть же project reactor)

https://github.com/Kotlin/kotlinx.coroutines/pull/88/files#diff-90f01e2801dbc2f16a6b1ee6f03f1004 из каналов делают полноценные стримы

Google
Quantum Harmonizer
04.12.2017
14:51:23
пора объединить каналы, сиквенсы и коллекции под одним интерфейсом

Sergey
04.12.2017
14:51:57
да экстеншены к ним и так одинаковые

Igor
04.12.2017
14:52:19
пора объединить каналы, сиквенсы и коллекции под одним интерфейсом
Не будем горячиться ?… хотя если завезут тайпклассы с hkt, то наверное можно будет абстрагировать.

Andrew
04.12.2017
14:54:29
Что такое hkt? Я чувствую, что h -- это что-то про функциональщину ?

Sergey
04.12.2017
14:55:06
higher kinded types

Andrew
04.12.2017
14:56:29
А на эту тему есть KEEP или просто надежды пока?

https://github.com/Kotlin/KEEP/pull/87 Каюсь, нашёл сам.

Igor
04.12.2017
15:02:52
Да и “надежды” питает только кучка фп-фундаменталистов-авторов-kategory Остальным это или не нужно или они не знаю что-это. (хотя помнится Бреслав говорил что это в kotlin-native может быть полезно). Тут даже на scala они мало кому нужны, да и Одерски говорил держаться от них подальше.

Vadim
04.12.2017
15:03:22
@Vorkytaka норм тема, мы используем в проектах другой момент когда у вас два элемента, тогда это излишне.

Igor
04.12.2017
15:04:26
Для двух лучше boolean ??

Igor
04.12.2017
15:19:45
Как говорится “пиз### не мешки ворочить” ? Тут уже отписывались ребята из JB, что они пока “думают”

Konstantin
04.12.2017
19:12:18
а rx и так не нужен, есть же project reactor)
А можно вкратце, чем он лучше? В личку может быть.

Google
Sergey
04.12.2017
19:13:34
А можно вкратце, чем он лучше? В личку может быть.
он создавался для серверной части и там поддержка java 8+, а в rx еще куча костылей для андроида имеется (где-то обсуждение было на реддите) да и реактор идет в spring 5 из коробки

Anton
04.12.2017
19:15:30
А что за костыли

Гадкий
04.12.2017
19:15:34
Привет, есть какие-то удобные способы вставлять данные в List в указанные позиции?

Гадкий
04.12.2017
19:20:04
add, например
есть List и мне надо в него вставить другой лист

Quantum Harmonizer
04.12.2017
19:20:40
есть List и мне надо в него вставить другой лист
java.util.List#addAll(int, java.util.Collection<? extends E>), ну

Alex
04.12.2017
19:20:53
А, точно, пардон

На Скале только что писал

Там += cколько угодно элементов, как add

Quantum Harmonizer
04.12.2017
19:21:48
kotlin.MutableList.addAll(Int, Collection)

Гадкий
04.12.2017
19:21:48
Sergey
04.12.2017
19:22:16
А что за костыли
https://www.reddit.com/r/java/comments/6acxe3/spring_reactor_vs_rxjava/

Anton
04.12.2017
19:22:48
Спс

мужики а вы тестируете закрытые методы?

Sergey
04.12.2017
21:05:44
приватные?

Anton
04.12.2017
21:05:46
а

да

Sergey
04.12.2017
21:05:53
не, они ж приватные)

Anton
04.12.2017
21:05:57
блин ну и что

Google
Sergey
04.12.2017
21:05:59
а тестируется публичное апи

Anton
04.12.2017
21:06:06
ну так тест на паблик методы тогда будет огромным

и как то не особо наглядно имхо

Sergey
04.12.2017
21:06:20
так разбивай тогда класс, чтобы не было огромным

Anton
04.12.2017
21:06:32
так я итак разбиваю функции на локальные/прайват

ну тоесть получается будет несколько тестов для паблик метода

чем сделать несколько мелких для прайватов

и один для паблика

я вот согласен с этим ответом https://stackoverflow.com/a/105209/3416163

Sergey
04.12.2017
21:11:22
так ты просто сам себя ограничиваешь и уже просто взять и отрефакторить класс не выйдет, т.к тесты завязаны на приватные данные

Anton
04.12.2017
21:11:45
так у меня в любом случае изменится тест если изменится класс?

ну не в любом но в частом)

Sergey
04.12.2017
21:12:20
если будешь только публичное апи тестить то нет. максимум что поменяется это стабы и моки

Anton
04.12.2017
21:15:29
ну получается только тестится финальное состояние после выхода из паблик метода так?

а прайваты скрыты

ну тоесть вроде как если прайват метод работает неправильно то и паблик не пройдет тест

Sergey
04.12.2017
21:22:21
угу. на момент написания теста у тебя может быть один паблик метод, в котором лапша из кода, но работающая а потом ты рефакторишь и клепаешь себе уйму приватных методов, и тест при этом гарантия того что ты ничего не сломал

а если тебе нужно протестить приватный метод, то вероятно он не такой уж и приватный должен быть

либо его вообще можно вынести как отдельную функцию и ее тестировать тогда напрямую

Anton
04.12.2017
21:23:50
но тест же огромный будет

Google
Anton
04.12.2017
21:24:04
если у меня допустим в этом прайват методе какой то бранчинг

а если

этих методов еще несколько и в каждому свой бранч который влияет на следующий

получается допустим в первом возможны 3 разных случая и во втором 3

Sergey
04.12.2017
21:27:52
цикломатическая сложность явно будет большая у такого класса

Admin
ERROR: S client not available

Anton
04.12.2017
21:27:53
получается я должен в один тест запихнуть 9 разных кейсов?

а если я буду эти методы тестить по одному то всего 6 + сам паблик

Sergey
04.12.2017
21:28:32
сделай их публичными и нет проблем :)

Anton
04.12.2017
21:28:40
ну а если я не хочу их наружу выкидывать)

они же только в этом классе нужны

Sergey
04.12.2017
22:14:06
для этого придумали интерфейсы)

Михаил
05.12.2017
01:11:07
а до сих пор нет возможности указать приватный сеттере для var в конструкторе?

Quantum Harmonizer
05.12.2017
01:19:42
а до сих пор нет возможности указать приватный сеттере для var в конструкторе?
private var :) Хоть в конструкторе, хоть вне него, видимость геттера ≥ видимости сеттера.

Михаил
05.12.2017
01:20:40
в таком случае геттер тоже станет приватным)

Quantum Harmonizer
05.12.2017
01:22:04
в таком случае геттер тоже станет приватным)
А, я опять провтыкал суть вопроса :) Никаких кастомных гет/сет в конструкторе.

Osip
05.12.2017
03:39:17
они же только в этом классе нужны
Есть еще аннотация @VisibleForTests Правда я не до конца понимаю её работу.

Константин
05.12.2017
04:45:12
Приветствую, у кого нибудь есть опыт использования Ktor? интересует вопрос аутентификации, смотрю базовые примеры но нет чоткого понимания концепции

Vladimir
05.12.2017
05:30:08
Нарооод!!! Подскажите новичку, есть ли функция, которая преобразует строку из цифр в Инт?

Google
Евгений
05.12.2017
05:32:08
"123".toInt()

Vladimir
05.12.2017
05:33:37
"123".toInt()
Не работает так: (tvResult!!.text).toInt()

Евгений
05.12.2017
05:35:04
Во-первых, как не работает? Во-вторых, who is f*king tvResult!!.text ?

Vladimir
05.12.2017
05:42:28
Во-первых, как не работает? Во-вторых, who is f*king tvResult!!.text ?
1. функция toInt() в этой строчке выделена красным 2. tvResult - это TextView

Vladimir
05.12.2017
05:43:32
Andrey
05.12.2017
05:49:40
Не работает так: (tvResult!!.text).toInt()
А ещё можно объявлять как lateinit var tvResult : TextView И можно не писать уродские !!

whalemare
05.12.2017
05:52:01
а можно экстеншены юзать для поиска вьюх

Vladimir
05.12.2017
05:52:08
А ещё можно объявлять как lateinit var tvResult : TextView И можно не писать уродские !!
Ну меня эти !! не напрягают. А вот что означает в андроидстудии то, что имена переменных подчёркнуты черной линией?

Andrey
05.12.2017
05:53:03
Vladimir
05.12.2017
05:53:43


whalemare
05.12.2017
05:55:59


Страница 441 из 982