Size: a a a

Генератор непрочитанных сообщений

2020 May 05

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Интересно, на аттрибутах можно будет сделать inline функции.
источник

BT

Bohdan Turchyk in Генератор непрочитанных сообщений
ну, факт наличия "своей" терминологии при существовании общей - уже странно
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
Bohdan Turchyk
ну, факт наличия "своей" терминологии при существовании общей - уже странно
Ну как минимум нет разделения на уровне языка и каких-либо гарантий что какая-то функция действительно чистая
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
У меня вот на пхп есть dto с геттерами, и psalm'у не объяснить что их результат детерменирован, приходится сначала получать значение, потом делать проверки, потом использовать
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Евгений Ромашкан
Ну как минимум нет разделения на уровне языка и каких-либо гарантий что какая-то функция действительно чистая
А где они вообще есть, эти гарантии что функция действительно чистая?
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Евгений Ромашкан
У меня вот на пхп есть dto с геттерами, и psalm'у не объяснить что их результат детерменирован, приходится сначала получать значение, потом делать проверки, потом использовать
А у псалма же врое есть immutable/mutation-free и тд
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
Aleksandr Khristenko
А у псалма же врое есть immutable/mutation-free и тд
Так я по сути метод дёргаю
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Евгений Ромашкан
Так я по сути метод дёргаю
А что значит "не объяснить что их результат детерменирован, приходится сначала получать значение, потом делать проверки, потом использовать"?
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
Aleksandr Khristenko
А что значит "не объяснить что их результат детерменирован, приходится сначала получать значение, потом делать проверки, потом использовать"?
Ну например значение nullable, а я делаю проверку что там не null и дальше прокидываю куда-то
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
if($dto->getA() === null) { throw... }
else doSmth($dto->getA());
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Евгений Ромашкан
if($dto->getA() === null) { throw... }
else doSmth($dto->getA());
if ($a = $dto->getA() === null) { throw ... } else doSmth($a);
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
Aleksandr Khristenko
if ($a = $dto->getA() === null) { throw ... } else doSmth($a);
Ну вот так и приходится, как вариант, да
источник

BT

Bohdan Turchyk in Генератор непрочитанных сообщений
Евгений Ромашкан
Ну например значение nullable, а я делаю проверку что там не null и дальше прокидываю куда-то
я не совсем понимаю, как это относится к понятию чистой функции
источник

ЕР

Евгений Ромашкан... in Генератор непрочитанных сообщений
Bohdan Turchyk
я не совсем понимаю, как это относится к понятию чистой функции
Если бы psalm знал что результат getA детерменирован, он бы не жаловался что я не проверил что там не null в коде https://t.me/codeflood/167800
источник

BT

Bohdan Turchyk in Генератор непрочитанных сообщений
Евгений Ромашкан
Если бы psalm знал что результат getA детерменирован, он бы не жаловался что я не проверил что там не null в коде https://t.me/codeflood/167800
если у тебя результат детерминирован - тогда почему он nullable?)
источник

BT

Bohdan Turchyk in Генератор непрочитанных сообщений
но это нюансы, такое
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Bohdan Turchyk
я не совсем понимаю, как это относится к понятию чистой функции
Он видимо имеет в виду следущее. getA() чистая. Мы в одном месте проверили, что она возвращает не null, значит в другом месте вызов этой функции должен уже вернуть не nullable объект.
источник

RS

Roman Sapezhko in Генератор непрочитанных сообщений
Переменные до Богдана:
$a, $xa, $zca
После:
$someParamByOtherValueFromClassDocumentEntity
источник

BT

Bohdan Turchyk in Генератор непрочитанных сообщений
Aleksandr Khristenko
Он видимо имеет в виду следущее. getA() чистая. Мы в одном месте проверили, что она возвращает не null, значит в другом месте вызов этой функции должен уже вернуть не nullable объект.
*вызов этой функции с теми же аргументами
источник

DT

Dmitriy Tkachenko in Генератор непрочитанных сообщений
Bohdan Turchyk
если у тебя результат детерминирован - тогда почему он nullable?)
вот и псалм удивляется)
источник