@KotlinLangRu

Страница 41 из 90
Vladimir
01.12.2017
12:06:03
Всем привет! Я только начинаю переходить с Java на Kotlin, так что вопрос может звучать глупо. Если есть два класса, которые наследуются от какого-то другого, то получается, что использование функций верхнего уровня для наследников не нужно, если они могут быть прописаны в родителе?

Алексей
01.12.2017
12:19:20
Вопрос непонятен, что такое функция верхнего уровня? High-order function, что ли? Покажите код)

Vladimir
01.12.2017
12:49:50
Я про это В Java мы часто создаем статичные классы со статичными методами для утилит. Непосредственная реализация этого паттерна в Kotlin будет выглядеть следующим образом: //Don't object StringUtil { fun countAmountOfX(string: String): Int{ return string.length - string.replace("x", "").length } } StringUtil.countAmountOfX("xFunxWithxKotlinx") Kotlin позволяет убрать ненужные оборачивания в класс при помощи функций верхнего уровня. Часто, мы так же можем добавить некоторые функции расширения, для повышения читабельности. Так, наш код становится больше похожим на «рассказ истории». //Do fun String.countAmountOfX(): Int { return length - replace("x", "").length } "xFunxWithxKotlinx".countAmountOfX()

Google
Quantum Harmonizer
01.12.2017
12:51:42
Всё равно в первом сообщении какая-то каша.

Vladimir
01.12.2017
12:55:45
Я скинул код по его просьбе

Вопрос непонятен, что такое функция верхнего уровня? High-order function, что ли? Покажите код)

Я про это В Java мы часто создаем статичные классы со статичными методами для утилит. Непосредственная реализация этого паттерна в Kotlin будет выглядеть следующим образом: //Don't object StringUtil { fun countAmountOfX(string: String): Int{ return string.length - string.replace("x", "").length } } StringUtil.countAmountOfX("xFunxWithxKotlinx") Kotlin позволяет убрать ненужные оборачивания в класс при помощи функций верхнего уровня. Часто, мы так же можем добавить некоторые функции расширения, для повышения читабельности. Так, наш код становится больше похожим на «рассказ истории». //Do fun String.countAmountOfX(): Int { return length - replace("x", "").length } "xFunxWithxKotlinx".countAmountOfX()

Всё равно в первом сообщении какая-то каша.
Переформулирую. Если два класса наследуются от какого-то, то лучше же объявить нужную нам функцию в родителе, чем прописывать отдельно функцию верхнего уровня?

Павел
01.12.2017
14:29:16
А что это за персонаж?

Кита
01.12.2017
14:34:26
Это гуру ООП. Пришел в этот мир чтобы напомнить всем нам смертным как мы стали далеки от древних писаний ООП парадигмы

Кита
01.12.2017
14:39:59
Точнее - он в жизни реально топит за ООП?)
ну блин. Это жи Егор Бугаенко

Павел
01.12.2017
14:52:39
Алексей
01.12.2017
16:03:13
Переформулирую. Если два класса наследуются от какого-то, то лучше же объявить нужную нам функцию в родителе, чем прописывать отдельно функцию верхнего уровня?
в коде речь про extension-функции. Ими можно заменить утилитные классы, и просто некоторые вещи более красиво написать. Но я всё ещё не понимаю, причём тут наследование в вашем вопросе. Что значит "лучше объявить нужную нам функцию в родителе"? Кому нужную, этим классам? Наследовние применяется, когда между сущностями есть отношение "является", и оно нужно для расширения функций базового класса новыми функциями. Если такого отношения нет - не применяйте наследование. Попробуйте переформулировать ваш вопрос, и привести конкретный кусок своего собственного кода, с двумя альтернативными реализациями чего-то. Тогда можно будет сказать, какая лучше.

Google
Zaleev
01.12.2017
19:42:34
Здорова

Illia
02.12.2017
21:13:05
Может кому-то интересно будет, моно даже на сайте разместить

Quantum Harmonizer
02.12.2017
21:16:00
@OlegD у вас тут разрешено пиратство?

Illia
02.12.2017
22:24:05
Ну в принципи, да, не хорошо получиться )

Dan
02.12.2017
22:31:09
так нехорошо получается, ужас какой. можно подумать что из других мест эту книгу при желании не скачать бесплатно... кому надо - тот купит. кому надо - скачает. даёшь свободу информации!

Oleg
02.12.2017
22:37:26
@OlegD у вас тут разрешено пиратство?
Пока что ко мне правообладатели претензий не имели, так что ради бога. Как попросят - тогда и будем думать

Друзья! Имеется второй домен, который на данный момент не используется (kotlin.su). Пришло время его оплачивать. Как думаете, он нам вообще нужен? Может его использовать для форума или чего-то еще. Если у кого-то есть идеи как он нам может пригодится, тогда я его продлю. Если нет, то наверно откажусь

MainDRY
03.12.2017
06:32:08
Лучше для форума.

Сергей
07.12.2017
11:18:48
Всем привет!

Михаил
07.12.2017
11:35:14
Привет) Очень много прибывших за последнее время)

Nick
07.12.2017
13:57:34
Что скажете по поводу языка?

Алексей
07.12.2017
13:57:55
Что скажете по поводу языка?
Крутой он, чо тут скажешь)

Quantum Harmonizer
07.12.2017
13:58:09
Что скажете по поводу языка?
Для решения практических задач лучше пока ничего не придумали :)

Nick
07.12.2017
13:59:03
Каких именно практических задачь ( пример ) ?

Quantum Harmonizer
07.12.2017
14:00:47
Работа с коллекциями, асинхронщиной, отличный интероп, годный байт-код.

Михаил
07.12.2017
14:10:11
на сколько удобно на нём клепать например REST API?

Тулеген
07.12.2017
14:14:37
на сколько удобно на нём клепать например REST API?
В разы, в т.ч. благодаря более удобной работе со стримами.

Михаил
07.12.2017
14:15:25
Что на счёт jdbc?

норм?

Quantum Harmonizer
07.12.2017
14:53:42
норм?
Ну конечно норм.

Google
Nick
07.12.2017
16:22:33
По вашему мнению почему неудобно( не практично) писать на котлин ? ( приведите 10 примеров )

Alexey
07.12.2017
16:23:57
Надо придумать?

Nick
07.12.2017
16:24:48
Нет, с вашей практики

Придумывают сказки и то опираясь на что то )

Matvey
07.12.2017
16:25:57
10 примеров... Будто hr-щик спрашиваешь

Alexey
07.12.2017
16:26:53
Оверхед из-за котлина, если в андройде все тесно и надо в один декс уместиться, то это может быть гемор

Matvey
07.12.2017
16:27:10
Вот такой вопрос. Стоит ли запариваться на с Java для андроида, или поверхностных знаний хватить может, чтобы на котлине писать?

Без "на"

Nick
07.12.2017
16:28:34
Без "на"
Все зависит от сложности поставленой задачи )

Matvey
07.12.2017
16:29:26
Хмм, спасибо

Nick
07.12.2017
16:29:36
Java не просто так уже существует столько времени ) Хотя жаль что не так быстро развиваеться

Как по мне котлин легко понимать и применять паралельно с кодом на java

Но это сугубо мое мнение )

Matvey
07.12.2017
16:32:23
Да, я такие мнения часто слышу, это с ростом опыта появляется

Nick
07.12.2017
16:32:29
Это пожалуй тот язык который говорит сначала учи java а потом поговорим и обо мне )

Matvey
07.12.2017
16:32:46
Ну, умение совмещать

Да, понял, спасибо

Alexey
07.12.2017
16:35:51
Я вас не различаю)



Matvey
07.12.2017
16:56:22
Сейчас

Google
Matvey
07.12.2017
16:58:54
Alexey
07.12.2017
16:59:15
?

Alexey
07.12.2017
17:24:56
Как у комплюктера буду - поищу

Кита
07.12.2017
17:28:36
Есть например задача сделать с клиента апдейт токена по рефрештокену. Мы знаем что наш репозиторий который работает с данными может параллельно кучу запросов посылать. В одном потоке мы уже точно знаем что токен истек. Как остановить остальные потоки с запросами которым тоже нужен токен чтобы подождать когда придет новый и продолжить запрос уже с ним. Как эту задачу решить на котлине?

Кита
07.12.2017
17:32:00
Так же, как её решали бы на Java, например.
Ну и как её решали бы на Java. Что использовали бы?

Quantum Harmonizer
07.12.2017
17:32:26
Alexey
07.12.2017
20:00:51
Можно примеров его оверхеда?
https://developer.android.com/kotlin/faq.html The Kotlin runtime adds about 7,000 methods and ~1MB to your debug APK.

Proguard спасет, но в дебаге неудобно его запускать

Quantum Harmonizer
07.12.2017
20:01:41
https://developer.android.com/kotlin/faq.html The Kotlin runtime adds about 7,000 methods and ~1MB to your debug APK.
Я заметил 5-6к методов. Это меньше, чем Rx, и гораздо меньше, чем AppCompat.

Можно, кстати, попробовать собрать урезанную версию стдлибы.

Сергей
08.12.2017
05:22:59
Я в java, а темболее в kotlin новенький, решил все таки встать на этот путь)) А подскажите как лучше сделать, у менять есть большой xml файл, примерно на 500 000 объектов, мне нужно эту xml читать и находить в ней нужные мне элементы, сейчас я сделал так. Читаю весь файл, сохраняю данные в список, а потом делаю поиск по списку если нужно что-то найти. Но чую что делаю что-то не правильно. Как лучше осуществить поиск по xml, читать весь файл в память все равно придется? Как тогда ускорить поиск по списку?

Михаил
08.12.2017
05:24:29
читать файл через sax/stax, будет быстрее и лучше

Страница 41 из 90