Size: a a a

Kotlin Community

2020 August 15

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
Ну нет. Если оверайдрв нет то все ок
На самом деле это универсальное правило. В инитах не должно быть ничего сложного. И уж точно ничего такого, что меняет состояние предка.
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
На самом деле это универсальное правило. В инитах не должно быть ничего сложного. И уж точно ничего такого, что меняет состояние предка.
Предка нет, это и есть же оверлоад
источник

BP

Bogdan Panchenko in Kotlin Community
Свое состояние - это как раз то место где его нужно создавать
источник

AN

Alexander Nozik in Kotlin Community
Порядок инициализации - это наверное главное место в Котлин, где можно подложить себе грабли. Так что я думаю, что правильная стратегия - ничего туда не класть вообще и считать какую-то сложную инициализацию и изменяющие init-блоки крайним решением.
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
Порядок инициализации - это наверное главное место в Котлин, где можно подложить себе грабли. Так что я думаю, что правильная стратегия - ничего туда не класть вообще и считать какую-то сложную инициализацию и изменяющие init-блоки крайним решением.
Меняющие и инициализирующие это ведь разное понятие 😊
источник

BP

Bogdan Panchenko in Kotlin Community
А про порядок сказано верно. Вот поэтому и спрашивал про варнинг
источник

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
Меняющие и инициализирующие это ведь разное понятие 😊
Я бы сказал, что и инциализирующие - это в порядке исключения. Если надо чего-то инициализировать, то это можно сделать сразу в пропертях. Скажем, в указанном примере, явно должен быть не мутабельный список, а buildList или вообще внешний инициализатор
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
Я бы сказал, что и инциализирующие - это в порядке исключения. Если надо чего-то инициализировать, то это можно сделать сразу в пропертях. Скажем, в указанном примере, явно должен быть не мутабельный список, а buildList или вообще внешний инициализатор
Ну нет, код бывает 6е тривиален. По поводу второй части согласен. Вполне можно обойтись билдерами листов
источник

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
Ну нет, код бывает 6е тривиален. По поводу второй части согласен. Вполне можно обойтись билдерами листов
Бывает. Поэтому иногда оно нужно. Но если можно избежать, лучше ихбежать
источник

BV

Boris Vanin in Kotlin Community
Alexander Nozik
Бывает. Поэтому иногда оно нужно. Но если можно избежать, лучше ихбежать
Как и наследования в целом
источник

BV

Boris Vanin in Kotlin Community
Потому что такие проблемы возникают часто из за наследования. Если наследования нет, то и порядок чаще всего очевиден
источник

BP

Bogdan Panchenko in Kotlin Community
Boris Vanin
Потому что такие проблемы возникают часто из за наследования. Если наследования нет, то и порядок чаще всего очевиден
Ну это в джвм все через Ж
источник

AN

Alexander Nozik in Kotlin Community
Boris Vanin
Потому что такие проблемы возникают часто из за наследования. Если наследования нет, то и порядок чаще всего очевиден
нет. Ровно та же проблема с порядком инициализации в одиночном классе и с порядком инициализации синглетонов.
источник

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
Ну это в джвм все через Ж
Через J. Все там нормально. Но есть места, где надо быть аккуратным.
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
нет. Ровно та же проблема с порядком инициализации в одиночном классе и с порядком инициализации синглетонов.
+ да везде. банально инициализирует проперти, для ее инициализации ее используешь пропертю которая находится ниже и привет и удачи
источник

BP

Bogdan Panchenko in Kotlin Community
Так что не интим блок плохой, а белеберда с порядком, порядок как раз и должен задавать инит блок
источник

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
+ да везде. банально инициализирует проперти, для ее инициализации ее используешь пропертю которая находится ниже и привет и удачи
Интим блок - это мощно. Предлагаю оставить.
источник

D

Denys in Kotlin Community
Alexander Nozik
Интим блок - это мощно. Предлагаю оставить.
Это в 1.4 добавили? Хороший релиз. 😺
источник

QH

Quantum Harmonizer in Kotlin Community
Denys
Это в 1.4 добавили? Хороший релиз. 😺
а ты думаешь почему я уже на 1.4?)
источник

D

Denys in Kotlin Community
Quantum Harmonizer
а ты думаешь почему я уже на 1.4?)
Фича по подписке, небось?
источник