|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton Ну я написал 2 теста к примеру. Какие из этого следуют выводы? Покрытие юнита 100% ? Покрытие логики 100% ? Если так, значит ваш юнит скорее всего соответствует SoR. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 09:26 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
У нас с тобой все таки разное понимание тестирования. У меня количество тестов соотвествует количеству бизнес-сценариев. Я взял 1 логику и доказал ее формальную правоту с помощью двух сценариев. Следует из этого или нет SingleResp - я пока не знаю. Не уверен. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 09:32 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Дмитрий Мух Открой для себя шаблон Спецификация. - хрен редьки не слаще. Просто перенос сложности в другое место - вместо кучи методов, куча классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 10:25 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Zzz79, Действие по БЛ не равно методу класса ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 10:26 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Zzz79 а зачем куча классов которые делают одно и тоже?так просто не бывает) а вот то что один класс отвечает за одно действие - полнейшая дичь,сейчас такое даже сложно представить на практике вот у меня есть репозиторий и его имплементация - я что должен под каждый метод отдельный класс писать?)) типо удалить один,записать другой и тд- ну это же дичь? а если в один класс мы это помещаем то это уже два разных действия и может быть мне когда то в рамках двух разных задач потребуется менять оба метода- что опять же будет противоречить этим принципам например поступит задача на изменение предиката в удалении ,а в записи добавится еще один аргумент- да такое бывает - когда добавляют в таблицу колонку)) и тут уже рушится этот солид- так как в одном классе будут несколько изменений связанных с абсолютно разными задачами Для этого есть другие страшные аббревиатуры DI и IOC ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 12:14 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton У нас с тобой все таки разное понимание тестирования. У меня количество тестов соотвествует количеству бизнес-сценариев. Я взял 1 логику и доказал ее формальную правоту с помощью двух сценариев. Я не знаю как можно юнит-тестирование понимать иначе. Бизнес-сценарии и юнит-тесты вообще ортогональны друг другу. Их количество никак между собой не взаимосвязано. mayton Следует из этого или нет SingleResp - я пока не знаю. Не уверен. Юнит-тесты покрывают код. Они тестируют реализацию юнитов, компонентов. При чём тут сценарии? Возьмём самый простой случай. Проверка ИНН на корректность. Есть компонент, который выполняет одну простую задачу, проверяет этот самый ИНН на корректность. Используется совершенно в разных бизнес-сценариях. Если этот компонент кроме проверки ИНН, будет ещё что-нибудь делать, например, проверять е-мейл до кучи, а также отправлять смс-ки, то это будет нарушением SoR. Мне трудно вообще вписаться в картину мира, где SoR вызвает такие проблемы. Реал. Это прям какое-то зазеркалье ) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 13:12 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Хорошо. Вот у тебя есть главный компонент. Application. Он контейнером в себя включает все другие компоненты. Как ты тестами покажешь что у него - SoR? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 13:16 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton Хорошо. Вот у тебя есть главный компонент. Application. Он контейнером в себя включает все другие компоненты. Как ты тестами покажешь что у него - SoR? Конечно, ведь Application не содержит всю логику внутри себя, а вызывает реализацию через соответствующие абстракции. Юнит-тест должен гарантировать, что эти абстракции будут вызваны правильно, а результат правильно обработан. Вместо реализации абстракций подставляются моки или стабы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 13:24 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
hVostt mayton Хорошо. Вот у тебя есть главный компонент. Application. Он контейнером в себя включает все другие компоненты. Как ты тестами покажешь что у него - SoR? Конечно, ведь Application не содержит всю логику внутри себя, а вызывает реализацию через соответствующие абстракции. Юнит-тест должен гарантировать, что эти абстракции будут вызваны правильно, а результат правильно обработан. Вместо реализации абстракций подставляются моки или стабы. OK. Я зайду с другой стороны. Ты закрыл все дочерние объекты Application моками. И дальше прогнал тесты ты такой говоришь. "Окей ребята. Ща я докажу что у Application - одна единая отвественность" И... я дальше ожидаю словесной формулировки. Какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 13:26 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton hVostt пропущено... Конечно, ведь Application не содержит всю логику внутри себя, а вызывает реализацию через соответствующие абстракции. Юнит-тест должен гарантировать, что эти абстракции будут вызваны правильно, а результат правильно обработан. Вместо реализации абстракций подставляются моки или стабы. OK. Я зайду с другой стороны. Ты закрыл все дочерние объекты Application моками. И дальше прогнал тесты ты такой говоришь. "Окей ребята. Ща я докажу что у Application - одна единая отвественность" И... я дальше ожидаю словесной формулировки. Какая? Как показать, что Application "вызывает реализацию через соответствующие абстракции"? Это будет пачка тестов вида: Application_ShoudCallComponentOne_When... Application_ShoudCallComponentTwo_When... Когда сто процентное покрытие тестами такого вида, то очевидно, что Application только то и делает, что "вызывает реализацию через соответствующие абстракции". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 13:37 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Дмитрий Мух очевидно, что Application только то и делает, что "вызывает реализацию через соответствующие абстракции". Это самое прекрасное определение Single-Resp. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 13:59 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton Дмитрий Мух очевидно, что Application только то и делает, что "вызывает реализацию через соответствующие абстракции". Это самое прекрасное определение Single-Resp. Ну вот и будет видно, сколько ответственности несёт в себе ваш Application. По идее, он должен запустить планировщик задач, цикл обработки событий/запрсоов, или смаршрутизировать команду на вполнение. И всё. А у вас что там находится? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:07 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton OK. Я зайду с другой стороны. Ты закрыл все дочерние объекты Application моками. И дальше прогнал тесты ты такой говоришь. "Окей ребята. Ща я докажу что у Application - одна единая отвественность" И... я дальше ожидаю словесной формулировки. Какая? Если это некое консольное приложение, на вход которому приходят параметры командной строки, то приложение должно использовать парсер параметров командной строки, и выполнить маршрутизацию команды соответствующему обработчику. Больше ничего ваш Application делать не должен. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:12 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
hVostt mayton OK. Я зайду с другой стороны. Ты закрыл все дочерние объекты Application моками. И дальше прогнал тесты ты такой говоришь. "Окей ребята. Ща я докажу что у Application - одна единая отвественность" И... я дальше ожидаю словесной формулировки. Какая? Если это некое консольное приложение, на вход которому приходят параметры командной строки, то приложение должно использовать парсер параметров командной строки, и выполнить маршрутизацию команды соответствующему обработчику. Больше ничего ваш Application делать не должен. Воооот. Вот поэтому я это и называю фи-ло-со-фи-я. Мдя. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:22 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton Воооот. Вот поэтому я это и называю фи-ло-со-фи-я. Мдя. Какая ещё философия? Если я книгу по высшей математике могу применить, как подпорку для двери, стоит ли писать об этом в назначении книги? Ещё могу книги использовать как подставку для стола, и т.д. Философия? Нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:37 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Хвост. Ты знаешь, когда Иогана Баха спросили как это он так ловко и хорошо играет на органе - он ответил - Ничего сложного! Я просто своевременно нажимаю соотвестсвующие клавиши. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:43 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton соотвестсвующие ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:46 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton Хвост. Ты знаешь, когда Иогана Баха спросили как это он так ловко и хорошо играет на органе - он ответил - Ничего сложного! Я просто своевременно нажимаю соотвестсвующие клавиши. Красивая аналогия. Но я предлагаю от аналогии перейти к делу :) Каков итог-то? В топку эти ваши принципы и методологии разработки, пилим как придётся, основываясь на субъективном понимании прекрсного по единственному рабочему принципу "я художник -- я так вижу!"? :) Или проблемы в понимании вызывает только один единственный принцип SoR из солид? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:59 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
hVostt, Мое имхо что прогер всегда был художником))) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:03 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
hVostt mayton Хвост. Ты знаешь, когда Иогана Баха спросили как это он так ловко и хорошо играет на органе - он ответил - Ничего сложного! Я просто своевременно нажимаю соотвестсвующие клавиши. Красивая аналогия. Но я предлагаю от аналогии перейти к делу :) Каков итог-то? В топку эти ваши принципы и методологии разработки, пилим как придётся, основываясь на субъективном понимании прекрсного по единственному рабочему принципу "я художник -- я так вижу!"? :) Или проблемы в понимании вызывает только один единственный принцип SoR из солид? Видишь ли в чем дело тут.... Модульный тест просто показывает наличие какого-то то свойства у модуля. Мне кажется что НЕДОСТАТОЧНО будет показать просто тесты. Тут нужно наверное зайти со стороны базового интерфейса например. А тогда зачем тесты? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:04 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Давайте вот посмотрим на этот интерфейс. Код: java 1. 2. 3. 4. 5.
Он - реализует SingleResp? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:07 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton Он - реализует SingleResp? у него нет реализации, только контракт. его имплементация может как соблюдать так и нарушать хотя с другой стороны, наличие кучи методов с интересными названиями может уже и в интерфейсе намекать о нарушении ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:26 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
PetroNotC Sharp был Было время, когда можно было долго пилить сложный проект в одиночку или небольшой слаженной группой. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:30 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Basil A. Sidorov PetroNotC Sharp был Было время, когда можно было долго пилить сложный проект в одиночку или небольшой слаженной группой. Ты написал "нет", но не обосновал. А счас пишут проекты большой группой? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 15:42 |
|
|
start [/forum/topic.php?fid=59&msg=39972436&tid=2120761]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
208ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 326ms |
0 / 0 |