Size: a a a

2020 February 07

КГ

Константин Грачев in PHP
Родственные триггеры - работать на дядю, пассивный доход
источник

AL

Alexander Lisachenko in PHP
https://github.com/lisachenko/immutable-object вдруг кому интересно )
источник

AL

Anton Lakotka in PHP
я так понимаю это runtime immutable? а в чем смысл?
источник

AL

Alexander Lisachenko in PHP
Ну в том, что свойства сущности такого класса не возможно потом изменить в процессе жизни
источник

AL

Alexander Lisachenko in PHP
Свойства можно заполнить только в конструкторе или статических методах-фабриках
источник

КГ

Константин Грачев in PHP
Я боюсь твои либы тащить в проекты =)
источник

AL

Alexander Lisachenko in PHP
Константин Грачев
Я боюсь твои либы тащить в проекты =)
Правильно ) их надо на коротком поводке держать во время разработки, типа DbC
источник

AL

Alexander Lisachenko in PHP
Типа, форсить иммутабельность только в процессе разработки, а в проде оставить нулевой оверхед
источник

F

FOX in PHP
пример с "public $value;" и его решение посредством "немутабельности" намекает больше на неправильный дизайн, который надо чинить )
источник

MM

Maksim Masiukevich in PHP
Alexander Lisachenko
Типа, форсить иммутабельность только в процессе разработки, а в проде оставить нулевой оверхед
Взял псалм и не париться)
источник

BP

Borys Poletayev in PHP
Alexander Lisachenko
Типа, форсить иммутабельность только в процессе разработки, а в проде оставить нулевой оверхед
Нет ничего страшнее иметь разное поведение кода в разработке и проде)
источник

JP

Junior PhP in PHP
Borys Poletayev
Нет ничего страшнее иметь разное поведение кода в разработке и проде)
Для релиз менеджера
источник

BP

Borys Poletayev in PHP
Junior PhP
Для релиз менеджера
Для всех, включая разрабов.
источник

AL

Alexander Lisachenko in PHP
Maksim Masiukevich
Взял псалм и не париться)
Ну о нарушении иммутабельности ты тогда только потом узнаешь при анализе. А так можно прям в лоб ошибкой выстрелить на месте
источник

AL

Alexander Lisachenko in PHP
Borys Poletayev
Нет ничего страшнее иметь разное поведение кода в разработке и проде)
Не совсем, есть концепты DbC и если при разработке соблюдать все инвариантные требования и предусловия к коду, то гарантируется, что постпроверки будут тоже верны
источник

AL

Alexander Lisachenko in PHP
А в проде эти проверки отключаются вовсе так как код удовлетворяет контракту приложения в процессе разработки
источник

AL

Alexander Lisachenko in PHP
Иммутабельность - это как-раз таки инвариант относительно состояния объекта. В продакшене проверять иммутабельность не нужно никогда.
источник

SP

Sergey Protko in PHP
Alexander Lisachenko
Ну о нарушении иммутабельности ты тогда только потом узнаешь при анализе. А так можно прям в лоб ошибкой выстрелить на месте
мммм то есть сначала тестим руками и потом запускаем тесты/анализ?
источник

SP

Sergey Protko in PHP
Alexander Lisachenko
Не совсем, есть концепты DbC и если при разработке соблюдать все инвариантные требования и предусловия к коду, то гарантируется, что постпроверки будут тоже верны
DbC это клево, но тут конкретно штуки покрываются типами
источник

KN

Kirill Nesmeyanov in PHP
Константин Грачев
Я боюсь твои либы тащить в проекты =)
а что, там тоже проприетарная лицензия?
источник