@kotlin_lang

Страница 107 из 982
Sasha
23.04.2017
16:00:29
Вроде у Дениса в докладе был датабиндинг и там точно был котлин. Да и в подкасте вроде об этом говорили.

Alexey
23.04.2017
16:00:32
я думал может что поменялось сейчас

Sasha
23.04.2017
16:02:06
Да тоже слышал что не дружат, но увидел в докладе и планировал на днях попробывать

Google
Dzmitry
23.04.2017
16:03:14
То что не дружат это байка ходит еще со времен когда kapt вообще отвратительно работал

Сейчас все норм, сам юзал - все работает

Sasha
23.04.2017
16:04:29
Вообще забавно, сам датабиндинг написан на котлине. На сколько я помню.

Андрей
23.04.2017
16:04:42
У нас проекты на котлин, и дата биндинг юзаем - все работает.

Dzmitry
23.04.2017
16:04:58
Нет. Прототип был на котлине

Sasha
23.04.2017
16:05:00
спасибо. будем знать

Dzmitry
23.04.2017
16:05:05
Потом переписали

Андрей
23.04.2017
16:05:41
https://android.googlesource.com/platform/frameworks/data-binding/+/master/compiler/src/main/kotlin/android/databinding/tool

Dzmitry
23.04.2017
16:05:44
У датабиндинга другая проблема, и с обычным apt

Если что-то в анотейшен процессинге ломается, то выплевываются какие-то вообще непонятные ошибки

Причем пофиг где сломалось, проблема может быть даже не в датабиндинге

Михаил
23.04.2017
16:08:19
Dzmitry
23.04.2017
16:08:26
Может он как-то вывод ошибки в цепочке препроцессинга меняет, но такая проблема есть

Google
Dzmitry
23.04.2017
16:08:39
Михаил
23.04.2017
16:08:56
в gradle console

Dzmitry
23.04.2017
16:09:52
Так я ж и говорю, туда вообще невнятное что-то пишеться

Михаил
23.04.2017
16:09:52
ошибки генерации датабиндинг классов именно там пишутся и вполне информативные

Dzmitry
23.04.2017
16:11:53
Хотя может эта хрень и не сдатабиндингом связана. Но на мобиусе чел один жаловался, поэтому мои подозрения возрасли

Ок,сломай даггер например, что оно тебе напишет

?

Anton
23.04.2017
16:13:10
Что нет метода провайдера)

Андрей
23.04.2017
16:13:54
В самом низу дейтсвительно мусор. Нужно листать в самый верх. И там довольно информативные ошибки, что у датабиндинга, что у даггера.

Михаил
23.04.2017
16:14:30
Dzmitry
23.04.2017
16:16:08
Хм. Значит в чем другом проблема была

Андрей
23.04.2017
16:16:19
У Даггера основные проблемы - либо провайдера нету, либа конструктора с @Inject. В любом случае он адекветно объяснит что его не устраивает.

Михаил
23.04.2017
16:17:18
единственное - фактическую ошибку приходится искать среди кучи других ошибок

поэтому и написал, что надо знать куда смотреть)

Андрей
23.04.2017
16:17:51
О, Михаил ради презентации даже свои проекты ломать начал?

Михаил
23.04.2017
16:18:20
Андрей
23.04.2017
16:18:42
единственное - фактическую ошибку приходится искать среди кучи других ошибок
Как правило они в самом верху. Так что я сказал бы что не сколько искать, сколько доскролить до этого начала

Sasha
23.04.2017
16:20:59
мне не долго - студия открыта))
А там таску не получиться какую-нибудь напилить, чтоб искала что нужно?

Sasha
23.04.2017
16:22:12
Google
Михаил
23.04.2017
16:22:26
у каждой либы свой вывод ероров

если конечн под каждую либу отедльно логику писать)

то наверн да

Sasha
23.04.2017
16:23:34
не, для каждый нафиг такое счастье. Можно и руками поискать)

Михаил
23.04.2017
16:51:35
на котлине нету экстеншена какого-нить чтобы из инта 100000 получить "100 000" одной строчкой

? animufag ?
23.04.2017
16:55:50
думаю в джс на такое либа бы нашлась

Михаил
23.04.2017
17:04:36
:D

Konstantine
23.04.2017
18:07:59
Тут кто-нибудь пишет под андроид с data binding'ом? Для биндинга ведь используется отдельный класс с полями для данных. Можно ли использовать data class в данном случае?

Konstantine
23.04.2017
18:18:20
почему нет?
Я не знаю, как они устроены, возможно биндинг просто не может работать с дата классом)

Михаил
23.04.2017
18:18:41
дата класс ничем не отличается от обычного класса просто под капотом генерится пачка методов

Konstantine
23.04.2017
18:19:08
понял, классно)

Михаил
23.04.2017
18:19:36
Андрей
23.04.2017
18:20:11
а нужна ли эта пачка методов просто для DataBinding-а?

Михаил
23.04.2017
18:20:41
имхо нет)

не вижу кейса чтоб во вьюМодели что-то из этого пригодилось)

? animufag ?
23.04.2017
18:26:08
думаю при тестировании toString, equals могут пригодиться.

Quantum Harmonizer
23.04.2017
18:27:28
Equals сильно помогает когда используешь DiffUtil.

Михаил
23.04.2017
18:51:09
Equals сильно помогает когда используешь DiffUtil.
есть примеры как биндинг и diff utils склеить?

Quantum Harmonizer
23.04.2017
18:51:38
Google
Konstantine
23.04.2017
19:01:44
Так стоп, получается в data class все еще можно объявить свои функции? Просто из описания в доке я подумал, что они исключено для хранения данных и объявлять левые методы в них нельзя

Konstantine
23.04.2017
19:03:23
Тогда как-то их суть как классов исключительно для каких-то данных теряется)

Admin
ERROR: S client not available

Quantum Harmonizer
23.04.2017
19:08:19
Например, data class ClassName : Parcelable — обычная такая ситуация.

Boris
23.04.2017
19:21:43
Тогда как-то их суть как классов исключительно для каких-то данных теряется)
их суть в том, чтобы дать из кробки инструмент быстрого создания бинов, а не в классах исключительно для данных. Просто в джаве (да и не только) есть целый слой класов сделанных исключительно чтобы описывать некоторую структуру данных -- в джаве это бины, так вот, чтобы их делать быстро, просто и эффективно были сделаны дата-классы, которые от обычных по больше части отличаются только наличием автосгенерированных методов сравнения, тустринг, компонентс* и хеэшкод

еще у них в этой связи есть ряд ограничений

которые вполне естественно вытекают из того в чем собственно суть дата-класса

Андрей
23.04.2017
19:35:08
Equals сильно помогает когда используешь DiffUtil.
Если есть айдишки уникальные, то в большинстве случаев достаточно определить equals по сравнению этих айдишек.

Boris
23.04.2017
19:35:20
?

Quantum Harmonizer
23.04.2017
19:36:47
Андрей
23.04.2017
19:40:35
Если данные изменяемые, тогда да, такой способ не подойдет. Но я же и не писал что всегда. Для статических данных работать будет.

Quantum Harmonizer
23.04.2017
19:43:32
Андрей
23.04.2017
19:50:40
А какая разница в какое время эта сущность была запрошена? На что это должно влиять?

Igor
23.04.2017
19:57:42
А, ладно. Долго объяснять.
У меня что то флешбек возник к докладу РичХики, он что похожее заливал

Андрей
23.04.2017
20:06:18
А, ладно. Долго объяснять.
Автосгенерированный метод equals в data классе делает сравнение по полям. Если данные уменя неименяемые, то он всеравно вернет true, несмотря на то, когда были созданны инстансы классов, хранящие эти данные . Так что в чем будет отличие?

Андрей
23.04.2017
20:13:42
Ну если есть возможность того, что мне с одной и той же айдишкой придут разные данные, то тут возможны следующие варианты: либо айдишки не уникальные, либо данные не являются неизменяемыми. В любом случае за оба варианта я писал что проверка по айдишке не подойдет. Хотя на счет того, что подходящих кейсов большинсто, я был не прав, признаю.

Google
Андрей
23.04.2017
20:43:36
А, я понял. Под неизменяемыми данными имелись именно такие, которые создавшись один раз, по соглашению никто не имеет права редактировать (как на клиенте, так и на беке)

Dmitry
24.04.2017
09:17:19
Здрасьте всем. А подскажите пожалуйста, для андройда и котлина в качестве статических анализаторов кода - что кроме линта еще подходит, есть у кого отзывы по другим штукам?

Dmitry
24.04.2017
09:19:52
ээээто печально

Quantum Harmonizer
24.04.2017
09:20:50
То ли FindBugs, то ли HuntBugs работает с байт-кодом.

Nikolay
24.04.2017
09:21:56
https://hackernoon.com/configuring-android-project-static-code-analysis-tools-b6dd83282921

Sergey
24.04.2017
09:22:02
Подскажите пожалуйста - у меня уже вошло в привычку писать модификаторы доступа для всего (В основном internal). Правильно ли я делаю или можно их не писать (кроме очивидных private/protect)

Sergey
24.04.2017
09:24:15
у тебя в проекте сколько модулей?
3 модуля, но между собой не связаны. Я пишу на Android

То есть права доступа пишутся для личного удобства и если это не либа, то они никак на проект не влияют?

Igor
24.04.2017
09:25:32
3 модуля, но между собой не связаны. Я пишу на Android
я рад за тебя. я бы в модулях, на которые ссылаются др, покрывал бы классы internal, чтобы сокращать видимое "API"

Dmitry
24.04.2017
09:26:01
спасибо

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