PHP несколько поврежден, поскольку у него нет возвращаемых типов (пока). Мне нужен мой код, чтобы вызвать исключение, когда X уже существует. Я могу написать это в сценарии, но я не могу перейти от сценариев к интерфейсу, который должен реализовать мой класс.
На самом деле эта проблема та же самая в TDD, я думаю. Кажется, я могу сказать больше через мои «тесты», чем через мои интерфейсы. Тем не менее, мои интерфейсы определяют, какие компоненты могут взаимодействовать, какие обязанности они должны выполнять.
Проблема больше в PHP, потому что он не имеет возвращаемых типов, но он также существует в других языках, потому что нет контракта, который говорит, что должно быть выброшено исключение, когда x имеет место.
Как мне лучше всего с этим справиться?