- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
data class User(
@Expose
@SerializedName("email")
val email: String? = null,
@Expose
@SerializedName("username")
val username: String? = null,
@Expose
@SerializedName("image")
val image: String? = null
) {
override fun toString(): String {
return "User(email=$email, username=$username, image=$image)"
}
}
bormandinho # 0
guest # 0
Когда он видит класс из одной строчки, у него начинает дергаться глаз
Он берет, и пишет над полем username что оно называется username.
Казалось бы, зачем? Это ведь и так понятно по рефлексии, но нет
vistefan # 0 ⇈
OCETuHCKuu_nemyx # 0 ⇈
vistefan # 0 ⇈
ШОК! Где-то на гитхабе есть автогенерённый бойлерплейт!
Написано же data class ⇒ по всей вероятности сгенерён из какого-нибудь xml- или json-описания api. Лежать будет в отдельном файле, делать в котором нехуй, нужен он линтеру и компилеру для тайпчекинга и среде для автодополнения. Желательно, чтобы ещё был помечен как автогенерённый, чтобы не трогал никто. Всё равно, когда версия апи поменяется, придёт новый файлик xml, по которому классы перегенерятся. Единственный минус такого кода, кроме его нахуй не нужности, как и ± большинства кода, написанного для продакшена, в том, что serialized name может отличаться от имени поля и предвещать кому-то мучительный дебаг, если уж кто-нибудь доберётся до того, чтобы трогать подобный бойлерплейт руками.
Ну там вот в соседнем файле есть ещё Тоже давайте порофлим.
HoBorogHuu_nemyx # 0 ⇈
guest # 0 ⇈
по какой такой вероятности?
https://kotlinlang.org/docs/reference/data-classes.html
vistefan # 0 ⇈
Не понял, что по твоей ссылке должно было опровергнуть такую вероятность?
Для котлина невозможна кодогенерация?
guest # 0 ⇈
vistefan # 0 ⇈
guest # 0 ⇈
тустринг то зачем генерить? Датаклассы сами это умеют
vistefan # 0 ⇈
А этот класс вообще-то можно записать в одну строчку, или аннтоации не накинуть будет? Не знаю, дефолтные ли это аннотации для котлиновского дата-класса.
guest # 0 ⇈
Аннотации это для сериализации, но любая нормальная сиситема сереализации умеет брать имена филдов по умолчанию.
vistefan # 0 ⇈
guest # 0 ⇈
Вот тут еще хуже
https://github.com/mitchtabian/MVIExample/blob/master/app/src/main/java/com/codingwithmitch/mviexample/model/BlogPost.kt
data классы сами умеют иквалс
Если это кодогенерация, то почему такая тупая?
guest # 0 ⇈
обрати внимание на класс Foo.
vistefan # 0 ⇈
guest # 0 ⇈
3oJIoTou_xyu # 0 ⇈
HoBorogHuu_nemyx # 0 ⇈
Видимо, «Котлин» — это мой удел.
А «Скала»? Да что «Скала»? Вечно мне лгала.
И меня никогда понять бы не смогла.
А «Котлин» всё спиздил у «Скалы».
Вот «Скала», и вот её не стало.
И когда об этом вдруг узнаешь ты...
Koko # 0
Steve_Brown # 0 ⇈
В С++ этого как-то не хватало, сейчас вроде вводят...
HoBorogHuu_nemyx # 0
inkanus_gray # 0
1024-- # 0 ⇈
guest # 0 ⇈
AnalBoy # 0 ⇈
guest # 0 ⇈
KpunoBblu_nemyx # 0 ⇈
CBuHOCO6AKA # 0 ⇈
1024-- # 0 ⇈
Когда он видит класс из одной строчки, у него начинает дергаться глаз.
Он берет, и пишет над полем username.
Казалось бы, зачем? Это ведь и так понятно по рефлексии, но нет А в чём смысл ключегого слова "override", почему это происходит столь просто - подумаешь каст сменили, - и имеет длительные последствия! Едить-твою за ногу! Обратно-то некому кастануть!
guest # 0 ⇈
3.14159265 # 0 ⇈
Но теперь я даже пытался вчитаться в эти вореции.
gost # 0 ⇈
1024-- # 0 ⇈
Эти современные многомалостные вореции лень устанавливать. Скрипты какие-то. Сложна! Сложна! А старый скрипт так и остался, разве что вместе со всем разделом переехал на новый SSD.
3.14159265 # 0 ⇈
Я специально поиском проверил что в треде не было начальной фразы.
>Я понял! Я теперь понял!
EDIT: OH SHI~. Просто он у меня скрыт.
phpBidlokoder2 # 0
KpunoBblu_nemyx # 0 ⇈
AnalBoy # 0 ⇈
Когда педофил растлевает ребенка или гей соблазняет натураста, он просто приводит его к другому типу!!! Вот, почему это происходит столь просто - подумаешь каст сменили, - и имеет длительные последствия! Едить-твою за ногу! Обратно-то некому кастануть!
"В чем отличие геев и натуралов"? Ответ - ни в чем, ведь базовый тип у них один.
N_BCE_3ACMERJINCb # 0 ⇈
KpunoBblu_nemyx # 0 ⇈
guest # 0 ⇈
груви хуев не сосет
print([groovy: "rocks"].toString())
phpBidlokoder2 # 0 ⇈
JSON.stringify({pituh: "petya"}).toString()
KpunoBblu_nemyx # 0 ⇈
Зачем? Зачем?
phpBidlokoder2 # 0 ⇈
HoBorogHuu_nemyx # 0 ⇈
2. Чтобы получить ошибку времени выполнения, если на вход подали undefined.
>> JSON.stringify(undefined);
undefined
>> JSON.stringify(undefined).toString();
TypeError: JSON.stringify(...) is undefined
phpBidlokoder2 # 0 ⇈
3.14159265 # 0 ⇈
Починил, проверь.
bormand # 0 ⇈
Sers # 0
Жаба под коричневым соусом.
Fike # 0 ⇈
Поэтому даже сейчас, соскочив на нейтив, они все равно выглядят как ёбаная скала и тащат туда говно из жвм, к которой отношения вроде бы уже и не имеют.
Какой reified )))
guest # 0 ⇈
guest # 0 ⇈
Fike # 0 ⇈
bormand # 0 ⇈
defecate-plusplus # 0 ⇈
TOPT # 0 ⇈
© Цинцзи пинь 4846 г. до н.э.
guest # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
bormand # 0 ⇈
defecate-plusplus # 0 ⇈
Fike # 0 ⇈
defecate-plusplus # 0 ⇈
nemyx # 0 ⇈
bagrinho # 0 ⇈
Desktop # 0 ⇈
Desktop # 0 ⇈
Sers # 0 ⇈
Не больно ли тебе?
Desktop # 0 ⇈
guest # 0 ⇈
Desktop # 0 ⇈
Fike # 0 ⇈
Sers # 0 ⇈
glandovyshibatel # 0
Sers # 0 ⇈