Size: a a a

2021 May 18

ММ

Максим Мартынов... in pro.elixir
нужно просто настроить окружение правильно, если наличие спеков обязательно - IDE, pre-commit хуки или CI, но их и для тестов нужно настраивать, и для mix format
источник

ММ

Максим Мартынов... in pro.elixir
так можно получить почти все плюсы статической типизации (за исключением оптимизации), не добавляя ничего в сам язык
источник

O

Odebe in pro.elixir
источник

Д

Дмитрий in pro.elixir
Хаххахахааха
источник

n

n1 in pro.elixir
Дело ведь не только в занимаемой размер, а в алиасах.

Когда
Param1(int)
Param2(int)

foo(Param1, Param2)
И foo(1,2) не прокатит

Понятно, что тестами отловиться, но и код мы пишем, без ошибок, да?)
источник

n

n1 in pro.elixir
Перечитал сообщение, плюсы там уже были написаны (оставлю тут)
источник

AN

Alexey Novoselov in pro.elixir
код всегда с ошибками в программе чуть сложнее, чем 1+1 посчитать. Надежы на статическую типизацию в их отлове крайне мало и диалайзер делает такие же проверки, как и статический компилятор
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ты не совсем прав. Можно посмотреть на накладные расходы в typescript где посреди кода надо делать всякие as и тыды. Очевидно что если бы можно было без них - тайпскрипт бы этого не требовал. Значит без них нельзя. Но диалайзер никак же не требует менять исходный код - значит он чего-то не ловит того, что ловит даже тайпскрипт
источник

AN

Alexey Novoselov in pro.elixir
Видимо в парадигме let it crash это не нужно. Если бы это было необходимо, давно бы уже вмержили диалайзер в компилятор и требовали спеки везде
источник

Е

Евгений in pro.elixir
Феерические глупости.
> отловить 1% ошибок с неправильной передачей параметров
> Хотя диалайзер - отличная штука и часто выручает
Часто это те самые 1%? 😀
источник

Е

Евгений in pro.elixir
Диалайзер, простите, сосет регулярно.
источник

AN

Alexey Novoselov in pro.elixir
Да, в большинстве случаев чтение спеков и сигнатур даёт информацию о том, что нужно передавать в функцию
источник

Е

Евгений in pro.elixir
Посмотри спеки Enum.map, какой тип она возвращает?
источник

A ß in pro.elixir
нет, если у диалайзера "есть сомнения", он "промолчит", это его принципиальное отличие от компиляторов, которые по природе своей консервативны.
источник

Е

Евгений in pro.elixir
И неужели невдомек, что диалайзер как раз делает то за что мы тут любим статическую типизацию?
Мне то вобщем-то пофиг где типы описывать, в спеках или в определении. Лишь бы ошибки ловил.
источник

Е

Евгений in pro.elixir
В том-то и дело, что там ошибка, а он молчит, потому что не может определить точный тип.
источник

AB

Alex Bubnov in pro.elixir
нет, он делает больше и меньше, а главное - он опциональный.
источник

A ß in pro.elixir
ну тут как всегда, либо трусы, либо крестик
источник

Е

Евгений in pro.elixir
Он так делает потому что не умеет иначе. Или кто-то хочет чтобы диалайзер ловил не все ошибки?
источник

AN

Alexey Novoselov in pro.elixir
Если очень нужно, опиши спеки полностью. Enum.map возвращает лист, если лист строк уточни сам в спеке.
источник