Size: a a a

Software Design/Architecture/Zen

2021 May 23

SP

Sergey Protko in Software Design/Architecture/Zen
можешь погуглить testing vs checking
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Извини еслм не уточнил
источник

SP

Sergey Protko in Software Design/Architecture/Zen
https://www.developsense.com/blog/2009/08/testing-vs-checking/

> Checking Is Confirmation - вот это то что твои тесты делают обычно
> Testing Is Exploration and Learning - тут из "автоматизации" это хаос тестирование например... или там property based testing
источник

SP

Sergey Protko in Software Design/Architecture/Zen
я к тому что "такой вижен" это просто "тесты хорошо без тестов плохо". Ну то есть считаю это диким упрощением.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
например ты можешь иметь 100% покрытие кода, все у тебя формализовано и т.д. но бизнес пипл твои тесты читать не может и как следствие держат где-то в вики отдельную спецификацию которая быстро аутдейтится и на основе неправильных данных пилят новые фичи. Есть ли толк от такой формализации?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
я больше сча сталкиваютсь с ситуациями когда фича есть, формализована, тесты даже есть но нахер она нужна инфы нет)
источник

ак

аминоуксусная кислот... in Software Design/Architecture/Zen
Мне нравится определение Мартина тут:
'TDD is when you write tests on something you already know you wanna write'. И подразумевается, что таким образом ты найдёшь то, чего ты Не хотел писать, а надо бы)
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Норм упрощение как по мне, в плохо потому что не быстрого способа удостовериться в относительной правоте
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Ну это никак не дискредитирует тдд как методологию
источник

SP

Sergey Protko in Software Design/Architecture/Zen
я и не пытаюсь ее дискридитировать, я лишь говорю что не стоит там регрессию и "тесты" там целью делать. И тогда TDD будет проще и лучше.
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
В правоте относительно своих суждений о коде или решении
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Эт не цель а приятные бонусы
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну то есть мне не нравится "смешивание" TDD (цель которой - только формализация того че как должно работать и внутренее качество) и "регрессии" (тут больше про внешнее качество, юнит тесты в целом не про это)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
потом в итоге сложности "почему мы должны писать и приемочные и юнит тесты" "а когда писать те а когда другие? а вот это надо в юнитах писать"? травма сорян
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
Добрый вечер. Хотелось бы узнать, какие бизнес правила должны соблюдаться и кто за эти правила собственно отвечает.
За пример возьму смену почты и ее уникальность. Я ее могу решить: уником в базе, могу в репозитории сделать метод на наличие существующей почты, могу перенести эту проверку в доменный сервис и проверять там, могу доменный сервис прокинуть в агрегат и проверять там.
Где найти правильную границу?
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
Собственно из этого вытекает ещё и вопрос, а все ли бизнес правила именно "бизнес"
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Агрегат отпадает по причине того что он про другие email знать ничего не должен, доменный сервис не гарантирует атомарность, в итоге у тебя два варианта - юник констрейнт в базе или разрешить дубли и разруливать их как-то по-другому.
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
А почему плох вариант с репозиторием, который мы будем дергать в application service?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Нет не все и среди тех которые "бизнес" тоже не все одинаково важны
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Кури в сторону true invariant - дубли в email как правило ими не являются
источник