Size: a a a

Чат подкаста «Разбор Полётов»

2020 July 20

AL

Alexander Levin in Чат подкаста «Разбор Полётов»
Anton Arhipov
я вот хочу нормальных контрактов 🙂
Нормальных это проверяемых или более мощных? (вроде тех, что могут убить функцию filterIsInstance ради filter)
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Alexander Levin
Нормальных это проверяемых или более мощных? (вроде тех, что могут убить функцию filterIsInstance ради filter)
Да, более мощных
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
например, чтобы можно было проверять, все-ли присваивания были выполнены в блоке который передаётся параметром в вызов функции
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
или не было ли присваивание выполнено 2 раза
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
foo {
  bar = "A"
  bar = "B" <<----- должна быть ошибка компиляции, например
}
источник

AL

Alexander Levin in Чат подкаста «Разбор Полётов»
Anton Arhipov
foo {
  bar = "A"
  bar = "B" <<----- должна быть ошибка компиляции, например
}
Почему-то думал, что такие вещи покрываются штуками вроде контракта run exactly once. Ну, тогда да, неплохо бы :)
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Alexander Levin
Почему-то думал, что такие вещи покрываются штуками вроде контракта run exactly once. Ну, тогда да, неплохо бы :)
это в сторону использования Котлина для конфигураций, например.
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
конкретно мой случай вырос из того что я много баловался с конфигурациями на Kotlin в TeamCity
источник

AL

Alexander Levin in Чат подкаста «Разбор Полётов»
Anton Arhipov
foo {
  bar = "A"
  bar = "B" <<----- должна быть ошибка компиляции, например
}
Сейчас потыкал, либо у вас больше магии навешено на функцию run, либо контракт call exactly once помогает в этом случае.

По крайней мере этот код:


val i: Int
run {
   i = 4
   i = 5
}


Плюёт val cannot be reassigned
источник

AL

Alexander Levin in Чат подкаста «Разбор Полётов»
Ну либо я не так случай понял :)
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
ну там сложнее конечно. Хотя, надо подумать, может быть через эту штуку можно было бы как то сделать то что нужно. Но там ещё есть варианты которыми хотелось бы управлять
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
особенно когда DSL уже сформирован и не предоставляется возможности его сильно изменить, потому что он по-сути является публичным API
источник

AL

Alexander Levin in Чат подкаста «Разбор Полётов»
Anton Arhipov
ну там сложнее конечно. Хотя, надо подумать, может быть через эту штуку можно было бы как то сделать то что нужно. Но там ещё есть варианты которыми хотелось бы управлять
Ну тут уже как задача звучит.

Если вопрос в том, что смотреть что там что-то происходит и это валидно - это вроде уже покрывается вышеупомянутым контрактом. По крайней мере тот же run умеет ругаться и на недоинициализацию и двойную инициализацию.

Если же вопрос, что что-то должно быть сделано ровно в этом блоке и нигде больше - наверное нужно больше функционала.
источник

AL

Alexander Levin in Чат подкаста «Разбор Полётов»
Ладно, пора спать. И да, теперь вспомнил, что невероятно нужно Котлину - адаптируйте пожалуйста play.kotl.in под смартфоны, им буквально тяжелее пользоваться, чем текстовым редактором :D (юзкейс - набрать по памяти две строки кода, скомпилировать, посмотреть результат и пошарить)
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Alexander Levin
Ладно, пора спать. И да, теперь вспомнил, что невероятно нужно Котлину - адаптируйте пожалуйста play.kotl.in под смартфоны, им буквально тяжелее пользоваться, чем текстовым редактором :D (юзкейс - набрать по памяти две строки кода, скомпилировать, посмотреть результат и пошарить)
записал
источник

NK

ID:0 in Чат подкаста «Разбор Полётов»
Почему появился и как устроен протокол Gemini
https://habr.com/ru/post/511484/
источник

A

Anton in Чат подкаста «Разбор Полётов»
Какой формат данных быстрее всего парсится? Теоретически - xml, ведь там определена структура заранее
источник

A

Anton in Чат подкаста «Разбор Полётов»
Или нет?
источник

AA

Alexey Abashev in Чат подкаста «Разбор Полётов»
Anton
Какой формат данных быстрее всего парсится? Теоретически - xml, ведь там определена структура заранее
источник

AA

Alexey Abashev in Чат подкаста «Разбор Полётов»
бинарники по схеме самые быстрые - asn, thrift, messagepack
источник