@kotlin_lang

Страница 734 из 982
Hip
03.07.2018
08:21:21
нужен только при билде ear/war?

Rikland
03.07.2018
08:22:18
нужен только при билде ear/war?
У меня нет jee в проекте (:

Alexander
03.07.2018
08:22:19
maven/gradle для всего нужен. То есть все можно (и рекомендуется) делать через них

Hip
03.07.2018
08:22:32
ну в продакшене

Google
Hip
03.07.2018
08:22:38
нету мавена\гредела

правильно?

Alexander
03.07.2018
08:22:54
Не понял вообще

Anton
03.07.2018
08:23:37
Rikland
03.07.2018
08:23:42
Ну если у тебя продакшн не ci, тогда не должно быть.

Alexander
03.07.2018
08:23:54
Кстати, по поводу мавена к среде есть претензия. Если в репозиториях поселяется sonatype, то обновление индексов идет несколько часов и потом директория с конфигурациям - несколько гигабайт

Alexander
03.07.2018
08:25:19
И я не про тесты. У меня всякая наука. Иногда для того, чтобы построить график проще скрипт из среды запустить ,чем собрирать все.

Andrew
03.07.2018
08:25:36
Очень глючно работает. По крайней мере если есть compositeBuild
А изредка наоборот помогает, когда идея не справляется. В том числе на ютреке советуют в отдельных ишьюсах.

Alexander
03.07.2018
08:25:47
Это тоже можно грэдлом делать в принципе... кстати надо посмотреть, как оно работает. На груви глючило, но на котлине может и будет работать.

Google
Alexander
03.07.2018
08:27:39
Да нет у меня сонара, просто какой-то из кусков тянет этот репозиторий. А в идее нет настроек, чтобы игнорить индексацию отдельных репозиториев

Anton
03.07.2018
08:27:41
Очень глючно работает. По крайней мере если есть compositeBuild
Зато очень помогает когда используется annotation processing, или code enhancement для Hibernate, или еще какая-либо кодогенерация... Для идеевского билда приходится искусственно ставить и настраивать плагин, который не всегда есть.

Alexander
03.07.2018
08:31:54
Ну в общем-то и зря. Зависит конечно от сферы, но всякие protobuf и tornadofx весьма удобны.

Quantum Harmonizer
03.07.2018
08:32:25
tornadofx? кодогенерация?

Rikland
03.07.2018
08:32:34
А дальше можно работать

Alexander
03.07.2018
08:33:03
Это да, но подстветка синтаксиса, автоподстановка и прочее - это крайне полезно

Aleksandr
03.07.2018
08:34:24
парни подскажите по синтаксису котлина как правильно написать

у меня есть сет фрагментов

Rikland
03.07.2018
08:34:34
Это да, но подстветка синтаксиса, автоподстановка и прочее - это крайне полезно
Подсветка синтаксиса protobuf работает по-моему без плагина генерирующего код.

Aleksandr
03.07.2018
08:34:45
мне нужен лист имен этих фрагментов

тупо запустить foreach по сету и добавить в лист?

Alexander
03.07.2018
08:35:10
А кто говорил про генерацию кода?

Quantum Harmonizer
03.07.2018
08:35:15
Aleksandr
03.07.2018
08:35:30
да

я пробовал как-то так

val mutableListOf = mutableListOf(fragmentStack.forEach { getScreenName(it as BaseAppFragment<*>) })

но тогда у меня в листе просто kotlin.Unit

Quantum Harmonizer
03.07.2018
08:36:18
дык forEach возвращает Unit

Google
Alexander
03.07.2018
08:36:32
`fragmentStack.map { getScreenName(it as BaseAppFragment<*>) }`

Aleksandr
03.07.2018
08:38:33
спасибо получилось

и еще вопрос маленький



такая запись для проверки на null правильная?

где fragmentStack nullable

Quantum Harmonizer
03.07.2018
08:40:14
Aleksandr
03.07.2018
08:40:50
ну... по бест практик и т.д.

dimiii
03.07.2018
08:53:24
ну... по бест практик и т.д.
Намана. Только так ли нужен downcast к BaseAppFragment?

Aleksandr
03.07.2018
08:53:50
dimiii
03.07.2018
08:53:50
и почему mutableList?

Aleksandr
03.07.2018
08:53:53
спасибо

и почему mutableList?
использовать просто aaray list?

dimiii
03.07.2018
08:55:55
Я думаю лучше дефолтный listOf, который immutable

Ой, сорян, это вообще просто имя

.map вроде immutable list возвращает, в любом случае имя получше можно

Alexander
03.07.2018
08:57:58
Если это весь код, там вообще можно инлайнить все, не создавая промежуточного листа

Google
Alexander
03.07.2018
08:59:42
fragmentStack.joinToString(separator = " -> ") { getScreenName(it) }

Ну строковую переменную можно создать для читаемости

Компилятор ее все равно заинлайнит

Aleksandr
03.07.2018
09:03:58
щя подумаю как сделать, у меня тут расширилась задача

еще небольшой вопрос



работа с возможным bundle null тут правильная или лучше написать по другому?

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

Quantum Harmonizer
03.07.2018
09:05:27
лучше чтобы bundle никогда не был null

Aleksandr
03.07.2018
09:05:30
и я пытаюсь понять это все

Igor
03.07.2018
09:05:57
Про @kotlin_mobile слышал? Не всем здесь интересен андроид

Alexander
03.07.2018
09:06:01
val bundle = arguments ?: Bundle()

Aleksandr
03.07.2018
09:06:07
лучше чтобы bundle никогда не был null
согласен, но архитектура не моя, ясейчас это не смогу везде править

Alexander
03.07.2018
09:06:31
Но, судя по подсветке arguments сам мутабельный, что не хорошо

Quantum Harmonizer
03.07.2018
09:06:48
Victor
03.07.2018
09:06:54
может так? fragmentStack?.map { getScreenName(it as BaseAppFragment<*>) }?.joinToString { " -> " }?.run { println(this) }

Alexander
03.07.2018
09:06:55
а

Victor
03.07.2018
09:07:40
а, выше уже лучше пример дали

Alexander
03.07.2018
09:07:43
может так? fragmentStack?.map { getScreenName(it as BaseAppFragment<*>) }?.joinToString { " -> " }?.run { println(this) }
Ну вот это уже очень плохо читается. Я иногда так делаю, но стараюсь избегать

Google
Aleksandr
03.07.2018
09:09:12
val bundle = arguments ?: Bundle()
блин ну вот дейстивтельно, сам же мог додуматься

спасибо

Quantum Harmonizer
03.07.2018
09:10:03
val args = arguments ?: Bundle().also { arguments = it }

Alexander
03.07.2018
09:10:48
эээ. Чего-то оно не то делает

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

Quantum Harmonizer
03.07.2018
09:11:25
оно заменяет ещё и строчку arguments = bundle

Alexander
03.07.2018
09:11:48
ой

А так вообще не надо делать если есть возможность. Изменение внешнего состояния изнутри функции. Бяка

Aleksandr
03.07.2018
09:12:41
val bundle = (arguments ?: Bundle()).also { }

Quantum Harmonizer
03.07.2018
09:13:29
.also { } — это ошибка?

Aleksandr
03.07.2018
09:13:49
а я понял

да туплю

я неправ

Kirill
03.07.2018
10:31:34
Sergey
03.07.2018
10:37:23
Igor
03.07.2018
10:39:08
Параллельная компиляция и больше памяти выдать javac. Ну и как бы всё :)
> Параллельная компиляция А это как включается?

Sergey
03.07.2018
10:40:24
> Параллельная компиляция А это как включается?
В идее: Preferences | Build, Execution, Deployment | Compiler

Compile independent modules in parallel

если включена сборка через гредл, то это опция не работает

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