Вурдалак
Продвинутый новичок
Я бы больше хотел final properties как в Java, но в 99% (по крайней мере, в моём случае) эти фичи бы использовались одинаково.А, да, вот еще в php не хватает конструкции "public readonly".
Я бы больше хотел final properties как в Java, но в 99% (по крайней мере, в моём случае) эти фичи бы использовались одинаково.А, да, вот еще в php не хватает конструкции "public readonly".
отвлекаясь от терминологии, речь о том, что для соответствия интерфейсу объекту нужно реализовать его методы,В typescript совсем не так же, как в golang, и оба варианта не совсем duck typing, но это уже совсем оффтопик.
я подразумеваю наличие PHPDocHappy refactoring, bitches.
собственно, вопрос сводится к тому, насколько часто ты работаешь с такими коллекциями, при работе с которыми нужно помнить структуру в разных местах, а @return Foo[]|Collection не хватаетПостоянно надо, когда работаешь с коллекциями в том или ином виде. PhpStorm-овская поддержка PhpDoc вида @return Foo[]|Collection, конечно, выручает, но все же это не на том уровне.
Ну вот в С# прям сильно удобно работать с коллекциями. Linq. В яве тоже стримы ввели. Не просто так. Частенько такое пригождается. Мы просто привыкли к foreach. Но и там надо кастить переменные к типу. тут важно не столько "помнить структуру", а для какого-то поля - возможность быстро найти ВСЕ места где оно юзается. Сильно ускоряет рефакторинги. А с массивами везде приходится phpDoc или типизировать аргументы колбэков. Не совсем удобно.собственно, вопрос сводится к тому, насколько часто ты работаешь с такими коллекциями, при работе с которыми нужно помнить структуру в разных местах, а @return Foo[]|Collection не хватает
интеграционный тест сделай с предварительной инициализацией базы, и не мучайсяЗасорили тему Я тут хотел вопрос задать. Немного в догонку. А как юнит-тестить write модели? Результат проверять как? анализируя только events и все?
я уже говорил что для нормальной скорости рефакторинга разница есть. Да и не только рефакторинга... я юзаю Find usages несколько раз в день.для читаемости и рефакторинга нет большой разницы указывать ли типизацию в коде или в PHPDoc, если есть желание ее указывать,
да там даже интерфейсов нет. да я не мечтаю даже о нормальных дженериках в PHP. Чую я, это весьма непросто для скриптовых языков. где-то наверняка будут просадки по производительности. все эти ко и контра-вариантности...ни в питоне, ни в раби дженериков нет - в питоне только статическая проверка по комментам в mypy,
план был замечательный — такой простой и ясный. Одно только плохо: Алиса не имела ни малейшего представления о том, как все это осуществить
Если у тебя event sourced модель (не в плане персистности, а в плане внутренного устройства), то этого должно быть достаточно.А как юнит-тестить write модели? Результат проверять как? анализируя только events и все?
А получается с BDD only следовать принципу test first? Сценарии-то разной сложности бывают, могут затрагивать не только одну write model.Но если ты используешь, например, Behat, то там скорее всего сценарии будут совпадать с теми, что ты описываешь в unit-тесте и необходимость в точечном unit-тесте как-то отпадает. То есть, можно действительно заодно проверить взаимодействие с инфраструктурой.
В BDD как раз нет «test first», там «specification first», а этому следовать получается уже более-менее.А получается с BDD only следовать принципу test first? Сценарии-то разной сложности бывают, могут затрагивать не только одну write model.