Size: a a a

2020 June 29

r

red75prime in rust_offtopic
Stanislav Popov
есть десятки разных систем координат где есть point, но ты не можешь из смешивать например
Если есть системы координат, то нужно их как-то обозначить. Например как декартово произведение Название оси * Числовая прямая
источник

ЕС

Егор Савельев... in rust_offtopic
Stanislav Popov
магия в том что ты конструируешь этот тип грязно, но передаешь его дальше по коду именно как то что тебе нужно
Опять же, это костыли, которые трудно использовать, понимать, поддерживать и масштабировать.
источник

SP

Stanislav Popov in rust_offtopic
Егор Савельев
Опять же, это костыли, которые трудно использовать, понимать, поддерживать и масштабировать.
... и поэтому ты не будешь из юзать вообще, т.е. в задаче требующей интервалов интов которые у тебя полезут в матч ты будешь херачить ифами и писать тесты ?
источник

VS

Victor Sapiens in rust_offtopic
@DogeShibu как такое сделать в Scala. Аналогичный код
class Age
{
private int Value {get;}
public Age(int value)
{
if(value <0 || value > 100) throw Exception()
источник

r

red75prime in rust_offtopic
Я тут обнаружил, что "You gotta get schwifty" возможно отсылка к канону Моцарта K. 231. Лучше бы я этого не обнаруживал.
источник

DS

Doge Shibu in rust_offtopic
Victor Sapiens
@DogeShibu как такое сделать в Scala. Аналогичный код
class Age
{
private int Value {get;}
public Age(int value)
{
if(value <0 || value > 100) throw Exception()
источник

ЕС

Егор Савельев... in rust_offtopic
Stanislav Popov
... и поэтому ты не будешь из юзать вообще, т.е. в задаче требующей интервалов интов которые у тебя полезут в матч ты будешь херачить ифами и писать тесты ?
Никто не пишет так как обозначено выше.
источник

SP

Stanislav Popov in rust_offtopic
выше это где? в статье про скала или никто не выносит в типы литералы аля 10?
источник

SP

Stanislav Popov in rust_offtopic
ну на редкий кейс редкий ответ. а вот ньютайпы юзают
источник

ЕС

Егор Савельев... in rust_offtopic
Victor Sapiens
case class UserId(value:Int) это если в самом простом виде. Чуть покруче public Age(int value) => if(value < 0 || value > 100) throw new Exception(“Not valid value”)
Вот это.
источник

VS

Victor Sapiens in rust_offtopic
Программисты выше среднего в тех проектах которые для них важны ещё как пишут.
источник

VS

Victor Sapiens in rust_offtopic
Прикольно, сапасибо. 😁
источник

DS

Doge Shibu in rust_offtopic
Пишут такое.

У меня все айди на последних двух работах были типизированны подобным образом. В некоторых местах вообще refined типы по максимуму юзались.
источник

H

Hirrolot in rust_offtopic
пишут ещё как, тот же Span
источник

ЕС

Егор Савельев... in rust_offtopic
Doge Shibu
Пишут такое.

У меня все айди на последних двух работах были типизированны подобным образом. В некоторых местах вообще refined типы по максимуму юзались.
А я единорог.
🦄
источник

DS

Doge Shibu in rust_offtopic
Егор Савельев
А я единорог.
🦄
Типизированные айди - это дико простой и удобный способ избежать фигни в духе:

doSomethingInDatabase(Uuid userId, Uuid entityId, ...)
источник

DS

Doge Shibu in rust_offtopic
Егор Савельев
А я единорог.
🦄
А про refined типы - вот вполне используемая в scala мире либа: https://github.com/fthomas/refined
источник

SS

Stanislav Sagan in rust_offtopic
источник

SS

Stanislav Sagan in rust_offtopic
Помню, было время когда в Раст группе было ровно в 2 раза меньше людей чем в го
источник

VS

Victor Sapiens in rust_offtopic
источник