Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8   вперед  Ctrl      все
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47981
Хорошо. Вот у тебя есть главный компонент. Application. Он контейнером в себя включает все другие
компоненты.

Как ты тестами покажешь что у него - SoR?
23 июн 20, 13:16    [22155923]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17984
mayton
Хорошо. Вот у тебя есть главный компонент. Application. Он контейнером в себя включает все другие
компоненты.

Как ты тестами покажешь что у него - SoR?


Конечно, ведь Application не содержит всю логику внутри себя, а вызывает реализацию через соответствующие абстракции.

Юнит-тест должен гарантировать, что эти абстракции будут вызваны правильно, а результат правильно обработан. Вместо реализации абстракций подставляются моки или стабы.
23 июн 20, 13:24    [22155932]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47981
hVostt
mayton
Хорошо. Вот у тебя есть главный компонент. Application. Он контейнером в себя включает все другие
компоненты.

Как ты тестами покажешь что у него - SoR?


Конечно, ведь Application не содержит всю логику внутри себя, а вызывает реализацию через соответствующие абстракции.

Юнит-тест должен гарантировать, что эти абстракции будут вызваны правильно, а результат правильно обработан. Вместо реализации абстракций подставляются моки или стабы.


OK. Я зайду с другой стороны. Ты закрыл все дочерние объекты Application моками. И дальше прогнал тесты
ты такой говоришь. "Окей ребята. Ща я докажу что у Application - одна единая отвественность"

И... я дальше ожидаю словесной формулировки. Какая?
23 июн 20, 13:26    [22155936]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3796
mayton
hVostt
пропущено...


Конечно, ведь Application не содержит всю логику внутри себя, а вызывает реализацию через соответствующие абстракции.

Юнит-тест должен гарантировать, что эти абстракции будут вызваны правильно, а результат правильно обработан. Вместо реализации абстракций подставляются моки или стабы.


OK. Я зайду с другой стороны. Ты закрыл все дочерние объекты Application моками. И дальше прогнал тесты
ты такой говоришь. "Окей ребята. Ща я докажу что у Application - одна единая отвественность"

И... я дальше ожидаю словесной формулировки. Какая?

Как показать, что Application "вызывает реализацию через соответствующие абстракции"?

Это будет пачка тестов вида:
Application_ShoudCallComponentOne_When...
Application_ShoudCallComponentTwo_When...

Когда сто процентное покрытие тестами такого вида, то очевидно, что Application только то и делает, что "вызывает реализацию через соответствующие абстракции".
23 июн 20, 13:37    [22155945]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47981
Дмитрий Мух

очевидно, что Application только то и делает, что "вызывает реализацию через соответствующие абстракции".



Это самое прекрасное определение Single-Resp.
23 июн 20, 13:59    [22155983]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17984
mayton
Дмитрий Мух

очевидно, что Application только то и делает, что "вызывает реализацию через соответствующие абстракции".



Это самое прекрасное определение Single-Resp.


Ну вот и будет видно, сколько ответственности несёт в себе ваш Application. По идее, он должен запустить планировщик задач, цикл обработки событий/запрсоов, или смаршрутизировать команду на вполнение. И всё.

А у вас что там находится?
23 июн 20, 14:07    [22155992]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17984
mayton
OK. Я зайду с другой стороны. Ты закрыл все дочерние объекты Application моками. И дальше прогнал тесты
ты такой говоришь. "Окей ребята. Ща я докажу что у Application - одна единая отвественность"

И... я дальше ожидаю словесной формулировки. Какая?


Если это некое консольное приложение, на вход которому приходят параметры командной строки, то приложение должно использовать парсер параметров командной строки, и выполнить маршрутизацию команды соответствующему обработчику.

Больше ничего ваш Application делать не должен.
23 июн 20, 14:12    [22155995]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47981
hVostt
mayton
OK. Я зайду с другой стороны. Ты закрыл все дочерние объекты Application моками. И дальше прогнал тесты
ты такой говоришь. "Окей ребята. Ща я докажу что у Application - одна единая отвественность"

И... я дальше ожидаю словесной формулировки. Какая?


Если это некое консольное приложение, на вход которому приходят параметры командной строки, то приложение должно использовать парсер параметров командной строки, и выполнить маршрутизацию команды соответствующему обработчику.

Больше ничего ваш Application делать не должен.

Воооот. Вот поэтому я это и называю фи-ло-со-фи-я. Мдя.
23 июн 20, 14:22    [22156007]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17984
mayton
Воооот. Вот поэтому я это и называю фи-ло-со-фи-я. Мдя.


Какая ещё философия?
Если я книгу по высшей математике могу применить, как подпорку для двери, стоит ли писать об этом в назначении книги? Ещё могу книги использовать как подставку для стола, и т.д.

Философия? Нет.
23 июн 20, 14:37    [22156020]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47981
Хвост.

Ты знаешь, когда Иогана Баха спросили как это он так ловко и хорошо играет на органе - он ответил
- Ничего сложного! Я просто своевременно нажимаю соотвестсвующие клавиши.
23 июн 20, 14:43    [22156025]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10418
mayton
соотвестсвующие
"Вовремя нажимал нужные"
23 июн 20, 14:46    [22156033]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17984
mayton
Хвост.

Ты знаешь, когда Иогана Баха спросили как это он так ловко и хорошо играет на органе - он ответил
- Ничего сложного! Я просто своевременно нажимаю соотвестсвующие клавиши.


Красивая аналогия. Но я предлагаю от аналогии перейти к делу :)

Каков итог-то? В топку эти ваши принципы и методологии разработки, пилим как придётся, основываясь на субъективном понимании прекрсного по единственному рабочему принципу "я художник -- я так вижу!"? :)

Или проблемы в понимании вызывает только один единственный принцип SoR из солид?
23 июн 20, 14:59    [22156048]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
hVostt,
Мое имхо что прогер всегда был художником)))
23 июн 20, 15:03    [22156054]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47981
hVostt
mayton
Хвост.

Ты знаешь, когда Иогана Баха спросили как это он так ловко и хорошо играет на органе - он ответил
- Ничего сложного! Я просто своевременно нажимаю соотвестсвующие клавиши.


Красивая аналогия. Но я предлагаю от аналогии перейти к делу :)

Каков итог-то? В топку эти ваши принципы и методологии разработки, пилим как придётся, основываясь на субъективном понимании прекрсного по единственному рабочему принципу "я художник -- я так вижу!"? :)

Или проблемы в понимании вызывает только один единственный принцип SoR из солид?

Видишь ли в чем дело тут.... Модульный тест просто показывает наличие какого-то то свойства у модуля.

Мне кажется что НЕДОСТАТОЧНО будет показать просто тесты.

Тут нужно наверное зайти со стороны базового интерфейса например. А тогда зачем тесты?
23 июн 20, 15:04    [22156055]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47981
Давайте вот посмотрим на этот интерфейс.

interface IConverter {

 @NotNull Object from(@NotNull Object object);

}


Он - реализует SingleResp?
23 июн 20, 15:07    [22156058]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
chpasha
Member

Откуда:
Сообщений: 9556
mayton
Он - реализует SingleResp?

у него нет реализации, только контракт. его имплементация может как соблюдать так и нарушать

хотя с другой стороны, наличие кучи методов с интересными названиями может уже и в интерфейсе намекать о нарушении

Сообщение было отредактировано: 23 июн 20, 15:24
23 июн 20, 15:26    [22156077]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10418
PetroNotC Sharp
был
На самом деле - нет, не был программист художником.
Было время, когда можно было долго пилить сложный проект в одиночку или небольшой слаженной группой.
23 июн 20, 15:30    [22156082]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
Basil A. Sidorov
PetroNotC Sharp
был
На самом деле - нет, не был программист художником.
Было время, когда можно было долго пилить сложный проект в одиночку или небольшой слаженной группой.

Ты написал "нет", но не обосновал.
А счас пишут проекты большой группой?
23 июн 20, 15:42    [22156094]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
mayton,

Тестируют фнкционал. А интерфейс - контракт. Или Намерения.
23 июн 20, 15:44    [22156097]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47981
chpasha
mayton
Он - реализует SingleResp?

у него нет реализации, только контракт. его имплементация может как соблюдать так и нарушать

хотя с другой стороны, наличие кучи методов с интересными названиями может уже и в интерфейсе намекать о нарушении

Хорошо. Тогда я предложу такое определение.

Классы, реализующие функциональные интерфейсы (ФИ) обладают SingleResp в рамках методов ФИ.

Пример ФИ : Function<T,R>, Consumer<T>, Supplier<T>.

Сообщение было отредактировано: 23 июн 20, 15:43
23 июн 20, 15:45    [22156102]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10418
PetroNotC Sharp
но не обосновал.
Не стал повторять аргументы мистера Брукса, изложенные в книге "Мифический человеко-месяц".
А счас пишут проекты большой группой?
В основном - работу работают. А это - всегда быстро. А большая группа - основной способ сделать быстро.
23 июн 20, 16:02    [22156112]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
chpasha
Member

Откуда:
Сообщений: 9556
mayton
Хорошо. Тогда я предложу такое определение.

Классы, реализующие функциональные интерфейсы (ФИ) обладают SingleResp в рамках методов ФИ.

Пример ФИ : Function<T,R>, Consumer<T>, Supplier<T>.

х.з., ну наверное :) , скажем так, в их контракте ничто не предвещает. впрочем как и в предыдущем примере
23 июн 20, 16:03    [22156113]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
Basil A. Sidorov
PetroNotC Sharp
но не обосновал.
Не стал повторять аргументы мистера Брукса, изложенные в книге "Мифический человеко-месяц".
А счас пишут проекты большой группой?
В основном - работу работают. А это - всегда быстро. А большая группа - основной способ сделать быстро.

Как и было. Кодировщик делает строго по ТЗ. Программист каждую строчку думает как лучше - художник.
Есть как первые так и вторые всегда и везде.
23 июн 20, 16:25    [22156128]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17984
mayton
Давайте вот посмотрим на этот интерфейс.

interface IConverter {

 @NotNull Object from(@NotNull Object object);

}



Он - реализует SingleResp?


Интерфейс ничего не реализует :)

Но интерфейс следует по контракту SoR, так как выполняет только одну задачу: конвертирует экземпляр одного типа в другой тип (или тот же, в контракте не декларируется).
23 июн 20, 16:27    [22156131]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17984
mayton
Видишь ли в чем дело тут.... Модульный тест просто показывает наличие какого-то то свойства у модуля.

Мне кажется что НЕДОСТАТОЧНО будет показать просто тесты.

Тут нужно наверное зайти со стороны базового интерфейса например. А тогда зачем тесты?


Юнит-тесты тестируют реализацию (юнита).
Интерфейсы же позволяют протестировать конкретную реализацию изолировано от зависимостей.
23 июн 20, 16:29    [22156134]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8   вперед  Ctrl      все
Все форумы / Java Ответить