@kotlin_lang

Страница 282 из 982
Igor
15.08.2017
20:42:25
Один из немногих людей, у кого совпадают со мной мысли, как нужно программировать на Kotlin (Java/C#) https://youtu.be/dGVqrGmwOAw?t=26m0s (есть тут еще такие?) И он кстати поддерживает что lock не желательны в языке https://youtu.be/dGVqrGmwOAw?t=24m28s (в видео он несколько раз касается локов в java)

Антон
15.08.2017
21:02:53
Очередной тысячный участник

Konstantine
15.08.2017
21:57:25
Забаньте его!

Google
Konstantine
15.08.2017
21:57:43
Легенды гласили, что тысячный появится лишь с выходом котлина 2.0

Михаил
15.08.2017
22:09:17
у кого-нибудь юнит тесты на анроиде с 1.1.4 стали запускаться по минуте? просто буковку в тесте поменял и полная сборка проекта

пофикшены старые фичи, добавлены новые

Igor
15.08.2017
22:21:39
пофикшены старые фичи, добавлены новые
Проверь что студия никаких дампов не создала по гигабайту+. У меня такое было давно уже, как только стер - прошло, больше не появлялись

fedor
16.08.2017
06:41:03
добрый день. простите за дурацкий вопрос, только начал знакомиться с котлином. в тестовом задании в объявлении одного из полей класса "Sting!" именно с "!". это опечатка, или..? не могу найти что гуглить.

Kirill
16.08.2017
06:43:14
Это platform type: https://kotlinlang.org/docs/reference/java-interop.html

Sergey
16.08.2017
07:47:54
Скажите, пожалуйста, а кто-нибудь вкурсе, когда в kotlin появится наследование ОТ data class?

Va
16.08.2017
08:47:43
так давно можно

ну, ладно, не давно, но с 1.1

Sergey
16.08.2017
08:49:06
Нет. Можно data class наследовать от sealed class, но нельзя от data

Google
Quantum Harmonizer
16.08.2017
08:49:57
Скажите, пожалуйста, а кто-нибудь вкурсе, когда в kotlin появится наследование ОТ data class?
Зачем наследовать классы друг от друга, если есть композиция?

Надеюсь, что такой отстрел ног не будет разрешён никогда.

Sergey
16.08.2017
08:51:19
Наследование - отстрел ног. Ок)))

Igor
16.08.2017
08:51:52
? (опоздал предложить композицию) data class - это не про стандартное ООП с наследованием. И не надо все подряд делать дата классами, просто по тому что лень написать gethashcode и tostring

Quantum Harmonizer
16.08.2017
08:53:43
Наследование - отстрел ног. Ок)))
Да, наследование хрупкое само по себе. А тут — наследование дата-классов.

Igor
16.08.2017
09:00:07
Вот ведь какой-то шизоид хочет притащить из swift их реализацию checked execption https://github.com/BenLeggiero/KEEP/blob/52f5692c997bad0c123ba71b86f4602f8bf279d0/proposals/error-handling.md

Sergey
16.08.2017
09:01:28
Да, я безусловно согласен, что композиция предпочтительнее. Тогда, пожалуйста, объясните чем плохо наследование от data class? Что плохого в том, чтобы в каком-то одном базовом классе, например, определить общие поля мапинга из json, а после их пересипользовать в дочерних классах? Это будет удобно если на сервере изменится имя поля.

Nikita
16.08.2017
09:03:56
Скажите, пожалуйста, а кто-нибудь вкурсе, когда в kotlin появится наследование ОТ data class?
к сожалению не появится, по этому придется самому переопределять некотореы методы

Sergey
16.08.2017
09:05:19
Я хотел его выбрать не потому что мне лень что-либо переопределять, а потому что он предназанчен для простого хранения данных что мне собственно и необходимо.

Sergey
16.08.2017
09:06:10
“We frequently create a class to do nothing but hold data. In such a class some standard functionality is often mechanically derivable from the data. I”

Nikita
16.08.2017
09:06:13
возможно придется использовать композицию либо отказаться от использоания data класса.

Sergey
16.08.2017
09:06:17
https://kotlinlang.org/docs/reference/data-classes.html

Nikita
16.08.2017
09:06:25
ну то есть что то писать таки все равно придется)

Quantum Harmonizer
16.08.2017
09:07:41
“We frequently create a class to do nothing but hold data. In such a class some standard functionality is often mechanically derivable from the data. I”
Ну и дальше, собственно, написано, что этот модификатор data добавляет в класс.

Nikita
16.08.2017
09:13:18
Кстати, сам подумай, как тебе автоматически реализовать переопределение методов equals() в иерархии классов еслиб ы она была допустима? Я думаю одна из причин в т.ч. в этом

Sergey
16.08.2017
09:16:59
Дело в том, что я намереваюсь расширять наследники полями и потому не понимаю какие могут быть проблемы с переопределяемыми методами. Они могли бы быть если бы было допустимым создавать data class без полей и просто наследоваться от data class с полями, но так нельзя.

Гм… нет?

Google
Sergey
16.08.2017
09:33:27
Так я же написал, что он предназначен для простого хранения данных

data class File( @SerializedName("file_name") val name: String, @SerializedName("file_path") val path: String, @SerializedName("size") val size: Long, @SerializedName("encoding") val encoding: String, @SerializedName("content") val content: String, @SerializedName("ref") val branch: String, @SerializedName("blob_id") val blobId: String, @SerializedName("commit_id") val commitId: String, @SerializedName("last_commit_id") val lastCommitId: String )

Такого, например

Руслан
16.08.2017
09:35:32
Самлстоятельно нельзя объявить такой тип
Ну впринципе Function#indentity возвращает тип с вопросом

Михаил
16.08.2017
09:36:28
Sergey
16.08.2017
09:37:14
Обычный класс с полями - это data class)))

Михаил
16.08.2017
09:37:17
сделай обычный класс, переопредели при необходимости equials(), hashCode(), toString()

Обычный класс с полями - это data class)))
data class - это не обычный класс с полями )

Quantum Harmonizer
16.08.2017
09:37:32
Так я же написал, что он предназначен для простого хранения данных
Это не так. В документации перечислен список методов, которые тебе принесёт модификатор data.

Обычный класс с полями - это data class)))
Обычный класс — это class.

Sergey
16.08.2017
09:39:36
Да-да, спасибо про методы пре прекрасно известно. Вообщем я хотел выяснить почему не допустимо наследование для data class потому что не нашел никаких объясннеий у jetbrains

То, что наследоавние не соотвествует ЛИЧНЫМ предпочтениям некоторых не есть довод

Михаил
16.08.2017
09:41:31
Да-да, спасибо про методы пре прекрасно известно. Вообщем я хотел выяснить почему не допустимо наследование для data class потому что не нашел никаких объясннеий у jetbrains
Бреслав давно уже говорит о том, почему они не делают наследование для data class. Как минимум потому, что непонятно, как должны себя вести методы equals(), hashCode() и toString()

Nikita
16.08.2017
09:42:14
о чем выше и сообщили. Просто попробуй сам понять как бы ты поступил в случае разрешения наследования реализации данных методов

Admin
ERROR: S client not available

Михаил
16.08.2017
09:43:33
о чем выше и сообщили. Просто попробуй сам понять как бы ты поступил в случае разрешения наследования реализации данных методов
в дополнение скажу - когда ты определишься с реализацией этих методов при наследовании, подумай о том, сколькими еще другими способами это можно сделать

Sergey
16.08.2017
09:51:05
А можно ссылку на Бреслава? =)

Google
Dmitry
16.08.2017
09:53:15
Sergey
16.08.2017
09:56:07
Не вижу связи=) Но было бы действительно интересно послушать, что говорит Бреслав и кроме того по-моему это может стать единственным моим аргументом перед коллегами =)

Sergey
16.08.2017
10:41:04
@angmarr Благодарю!

Михаил
16.08.2017
11:15:19
А можно ссылку на Бреслава? =)
https://youtube.com/playlist?list=PLVe-2wcL84b8pj7VOoa-6L9Q0sDjibdoF

Sergey
16.08.2017
11:15:55
Тут он приводит аргументы?

Михаил
16.08.2017
11:17:58
Тут он приводит аргументы?
тут подборка выступлений по котлин по разной тематике (кроме корутин), ссылку обновил

Sergey
16.08.2017
11:19:00
Просто я эти выступления с ним и Жемеровым раз 100 смотрел и не слышал там ничего касательно наследования от data class, но все равно спасибо

Sergey
16.08.2017
14:31:27
У меня возникло сомнение: какой смысл сейчас людям учить огромную и сложную бибилиотеку java.util.concurrent в то время, когда есть более удобная rxjava? Только не надо писать, что ради искусства и пр и пр и пр в таком духе.

Anton
16.08.2017
14:32:28
ну рх тоже немаленькая во первых) во вторых там по асинхронке не особо разгуляешься имхо

DarkMentat
16.08.2017
14:35:53
1. rx не только и не столько потоки, она про другое.

Anton
16.08.2017
14:36:28
+

Sergey
16.08.2017
14:37:12
Это тоже справедливый вопрос =)

DarkMentat это важное уточнение. Спасибо

DarkMentat
16.08.2017
14:39:11
Имею в виду, что с потоками rx позволяет только выбрать какой именно пул когда юзать. Написанный на java.util.concurrent кстати, при чем часто кастомный

Михаил
16.08.2017
14:43:00
наконец этот чат перешагнул барьер в 1000 человек )

Google
Михаил
16.08.2017
14:43:19
Михаил
16.08.2017
14:43:41
продакшн реди?
а что мешает их брать в продакшн?

Dzmitry
16.08.2017
14:44:11
Могут перефигачить же еще

если не лень переписывать

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