powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Тестирование. Что именно тестировать? Как определить середину?
25 сообщений из 361, страница 13 из 15
Тестирование. Что именно тестировать? Как определить середину?
    #39803284
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин
После код ревью и проверки на чек стайл код выгляди так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public class A {

 private B b;
 
 @Autowired
 public A(B b) {
  this.b = b;
 }
}

Прямо в таком виде и прошел ревью? Вроде по канону так должно быть:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public class A {

 private final B b;
 
 public A(B b) {
  this.b = b;
 }
}


ОзверинВнимание, вопрос!?Не знаю в чем у вас вопрос, идея была показать мощь DI на одном классе?
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803294
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов, моя идея, как di, ioc и сила слова помогут в данном случае что-либо отрефакторить, если из конструктора этого класса надо все равно убрать интерфейс класса b?
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803377
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как же быть проектам без DI?
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803382
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никКак же быть проектам без DI?

да нито от di не отказывается. Просто тут мнение вдруг появилось, что если есть di, то рефакторинг настолько прост становится, что можно с закрытыми глазами делать.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803386
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинзабыл никКак же быть проектам без DI?

да нито от di не отказывается. Просто тут мнение вдруг появилось, что если есть di, то рефакторинг настолько прост становится, что можно с закрытыми глазами делать.

Да я понимаю, то риторический вопрос был) По иронии судьбы на текущем проекте начали с рефакторинга - убрали DI :)
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803389
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинмоя идея, как di, ioc и сила слова помогут в данном случае что-либо отрефакторить, если из конструктора этого класса надо все равно убрать интерфейс класса b?Если вам принципиально не нравится наличие конструктора в жава коде (хотя проблемы нет), можете оломбочить проект и писать @RequiredArgsConstuctor, пойнт же в том, что без DI при добавлении новой зависимости в класс придется еще и ответную часть переделывать, а не просто в одном классе добавить еще одно поле и возможно поменять конструктор.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803420
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинВсе знают, что код ревью, архитектор и все такое и ВСЕ РАВНО нет НИ ОДНОГО проекта, длительностью от 1 года, ГДЕ НЕ ТРЕБОВАЛСЯ бы рефакторинг.

У вас есть примеры? У меня, лично, нет. Из чего я делаю вывод, что ваши слова да -правильные, но что-то не так с ними, раз не работает?Ну вот берем к примеру спринг - там на первой странице коммиты со словом "refactoring" покрывают последние полтора года, если смотреть по тексту самих коммитов, то там не рефакторинг-рефакторинг, а просто какие-то улучшения в отдельных классах, ничего принципиально не меняющие/ломающие, причем в абсолютном своем большинстве от одного человека. Здесь надо, конечно, сделать скидку на то, что спринг - это библиотека, а не приложение, поэтому им заниматься рефакторингом и ломать обратную совместимость по определению западло (хотя если посмотреть на другой проект - там и без рефакторинга ломают обратную совместимость направо и налево).

Еще раз повторюсь: рефакторинг - это не стиль программирования, это расплата за старые грехи.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803422
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никКак же быть проектам без DI?код писать более аккуратно и функциональность наперед продумывать, а не как в TDD: пишем только то что требует тестовый сценарий, а потом постоянно рефакторим.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803427
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловОзверинВсе знают, что код ревью, архитектор и все такое и ВСЕ РАВНО нет НИ ОДНОГО проекта, длительностью от 1 года, ГДЕ НЕ ТРЕБОВАЛСЯ бы рефакторинг.

У вас есть примеры? У меня, лично, нет. Из чего я делаю вывод, что ваши слова да -правильные, но что-то не так с ними, раз не работает?Ну вот берем к примеру спринг - там на первой странице коммиты со словом "refactoring" покрывают последние полтора года, если смотреть по тексту самих коммитов, то там не рефакторинг-рефакторинг, а просто какие-то улучшения в отдельных классах, ничего принципиально не меняющие/ломающие, причем в абсолютном своем большинстве от одного человека. Здесь надо, конечно, сделать скидку на то, что спринг - это библиотека, а не приложение, поэтому им заниматься рефакторингом и ломать обратную совместимость по определению западло (хотя если посмотреть на другой проект - там и без рефакторинга ломают обратную совместимость направо и налево).

Еще раз повторюсь: рефакторинг - это не стиль программирования, это расплата за старые грехи.

так где тот самый проект, который живет без рефакторинга? По вашим словам, надо всего лишь
а) нанять грамотного архитектора
б) хороших специалистов
в) просто заставить людей перестать ошибаться

Где?
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803429
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловОзверинмоя идея, как di, ioc и сила слова помогут в данном случае что-либо отрефакторить, если из конструктора этого класса надо все равно убрать интерфейс класса b?Если вам принципиально не нравится наличие конструктора в жава коде (хотя проблемы нет), можете оломбочить проект и писать @RequiredArgsConstuctor, пойнт же в том, что без DI при добавлении новой зависимости в класс придется еще и ответную часть переделывать, а не просто в одном классе добавить еще одно поле и возможно поменять конструктор.

мне принципиально непонятна связь наличия ioc и di с тем, что рефакторинг необходим?
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803436
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловОзверинВсе знают, что код ревью, архитектор и все такое и ВСЕ РАВНО нет НИ ОДНОГО проекта, длительностью от 1 года, ГДЕ НЕ ТРЕБОВАЛСЯ бы рефакторинг.

У вас есть примеры? У меня, лично, нет. Из чего я делаю вывод, что ваши слова да -правильные, но что-то не так с ними, раз не работает?Ну вот берем к примеру спринг - там на первой странице коммиты со словом "refactoring" покрывают последние полтора года, если смотреть по тексту самих коммитов, то там не рефакторинг-рефакторинг, а просто какие-то улучшения в отдельных классах, ничего принципиально не меняющие/ломающие, причем в абсолютном своем большинстве от одного человека. Здесь надо, конечно, сделать скидку на то, что спринг - это библиотека, а не приложение, поэтому им заниматься рефакторингом и ломать обратную совместимость по определению западло (хотя если посмотреть на другой проект - там и без рефакторинга ломают обратную совместимость направо и налево).

Еще раз повторюсь: рефакторинг - это не стиль программирования, это расплата за старые грехи.

насчет спринга, в котором нет "ничего ломающего" при рефакторинге..я конечно, не могу просмотреть все эти коммиты, но такое ощущение, что вы последние 5-7 лет не со спрингом работаете, а где то опять же на поляне с единорогами.

Смореть надо на "критикал" баги. Их там много.
Если смотреть так - сквозь пальцы на коммты с рефакторингом(даже если условиться, что сюда они вошли все), то даже в этом списке достаточно вещей с перемещением классов, изменением логики, созданием новых классов, а значит значительным изменением логики.
Почему же это не рефакторинг-рефакторинг?
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803450
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинАндрей Панфиловпропущено...
Ну вот берем к примеру спринг - там на первой странице коммиты со словом "refactoring" покрывают последние полтора года, если смотреть по тексту самих коммитов, то там не рефакторинг-рефакторинг, а просто какие-то улучшения в отдельных классах, ничего принципиально не меняющие/ломающие, причем в абсолютном своем большинстве от одного человека. Здесь надо, конечно, сделать скидку на то, что спринг - это библиотека, а не приложение, поэтому им заниматься рефакторингом и ломать обратную совместимость по определению западло (хотя если посмотреть на другой проект - там и без рефакторинга ломают обратную совместимость направо и налево).

Еще раз повторюсь: рефакторинг - это не стиль программирования, это расплата за старые грехи.

так где тот самый проект, который живет без рефакторинга? По вашим словам, надо всего лишь
а) нанять грамотного архитектора
б) хороших специалистов
в) просто заставить людей перестать ошибаться

Где?
+1

Мда.. Звучит как хорошая мечта.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803551
казинак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо
спор идет о следствиях
юнит тесты и рефакторинг - это следствие того, что ооп стали пихать везде

ООП оч уместно в разработке библиотек UI компонентов
по опыту, дельфи, дотнет, реакт - это классные библиотеки UI компонентов

а в бд или бэкенде в вебе ООП нахер не надо
в бд - реляционные операции
а в бэкенде - request-response, т.е. последовательная логика,
и реализация в императивном стиле как раз к месту

имхо,
ООП в базе или в бэкенде - это как на лыжах по асфальту: "можно, но зачем?"
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803556
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В бэкенде вполне себе умество заводить плоские бизнес-сущности. Plain. POJO.
Насчет логики. Да. Ее можно реализовать процедуральном стиле. Но скажите.
Вы сколько практически видели рабочих бизнес-бэкендов написанных без ООП
вообще?
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803566
казинак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВ бэкенде вполне себе умество заводить плоские бизнес-сущности. Plain. POJO.
Насчет логики. Да. Ее можно реализовать процедуральном стиле. Но скажите.
Вы сколько практически видели рабочих бизнес-бэкендов написанных без ООП
вообще?
бгг
я когда-то сам так писал
JSP и JDBC - и никаких орм

никогда не видел смысла в том, чтобы вытащить данные селектом в resulteset,
а потом, отфильтровать одну запись и сделать из результата класс для active record
а потом создать коллекцию, в которую запихать несколько active records

нахера?
если в резалтсете и так набор записей
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803568
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
казинакmaytonВ бэкенде вполне себе умество заводить плоские бизнес-сущности. Plain. POJO.
Насчет логики. Да. Ее можно реализовать процедуральном стиле. Но скажите.
Вы сколько практически видели рабочих бизнес-бэкендов написанных без ООП
вообще?
бгг
я когда-то сам так писал
JSP и JDBC - и никаких орм

никогда не видел смысла в том, чтобы вытащить данные селектом в resulteset,
а потом, отфильтровать одну запись и сделать из результата класс для active record
а потом создать коллекцию, в которую запихать несколько active records

нахера?
если в резалтсете и так набор записей
Наиболее красивую интеграцию мира ООП и баз данных я видел в InterSystems Cache.
Там всё было - native. Я даже готовился на разраба этой системы в двухтысячных.
Но вакансия cгорела.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803712
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
казинакmaytonВ бэкенде вполне себе умество заводить плоские бизнес-сущности. Plain. POJO.
Насчет логики. Да. Ее можно реализовать процедуральном стиле. Но скажите.
Вы сколько практически видели рабочих бизнес-бэкендов написанных без ООП
вообще?
бгг
я когда-то сам так писал
JSP и JDBC - и никаких орм

никогда не видел смысла в том, чтобы вытащить данные селектом в resulteset,
а потом, отфильтровать одну запись и сделать из результата класс для active record
а потом создать коллекцию, в которую запихать несколько active records

нахера?
если в резалтсете и так набор записей

вам это с вадей обсудить.
На вопрос - очень простой ответ - читаемость.
Другой вопрос, что ооп в яве пошло немноог по иному пути и мне больше заходит ddd в плане к подходу именования и сущностей, объединения свойств и так далее.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803753
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинмне принципиально непонятна связь наличия ioc и di с тем, что рефакторинг необходим?Ну мне тоже непонятна необходимость рефакторинга при наличии IoC/DI - кода меньше, зависимости через весь стэк таскать не нужно, просто делаем точечные изменения там где нужно и все.
Озвериннасчет спринга, в котором нет "ничего ломающего" при рефакторинге..я конечно, не могу просмотреть все эти коммиты, но такое ощущение, что вы последние 5-7 лет не со спрингом работаете, а где то опять же на поляне с единорогами.

Смореть надо на "критикал" баги. Их там много.
Если смотреть так - сквозь пальцы на коммты с рефакторингом(даже если условиться, что сюда они вошли все), то даже в этом списке достаточно вещей с перемещением классов, изменением логики, созданием новых классов, а значит значительным изменением логики.
Почему же это не рефакторинг-рефакторинг?Чет не то, вы просили промер проекта где не рефакторят каждый раз после похода в уборную - я вам его привел, вы же начинаете привередничать в духе, а вот смотрите: там баги в проекте, да еще за полтора года аж целый класс из одного модуля в другой перенесли. Для продуктовой разработки рефакторинг не свойственен, более того, более другим языкам рефакторинг тоже не свойственен, вы же обчитались туалетного чтива и несете гнилую идею в массы, а в вашем чтиве прямым текстом написано про целевую аудиторию: разработчик - дурак и с первого раза код написать не может.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803793
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов, а сколько тысяч строк в вашем проекте?
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803801
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов, я просил проект, где нет рефакторинга, вы показали пример, где он есть. По-моему, это у вас разногласия с вашими единорогами...У вас какая-то сортирная тематика пошла: то обоссать архитектора, то в туалет сходить за рефакторингом. Все, что от вас требуется, это признать, что в мире фактически нет проектов более или менее крупных, которые обходятся без рефакторинга ...
Ну если вы такоие знаете, я тут подожду, чтобы вы привели пример.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803803
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинДо ioc код выглядит вот так:
...
После код ревью и проверки на чек стайл код выгляди так:

Это не IoC.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803805
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex55555ОзверинДо ioc код выглядит вот так:
...
После код ревью и проверки на чек стайл код выгляди так:

Это не IoC.


срочно расскажите, что это.
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803807
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какое интересное перевоплощение из тестирования в рефакторинг )))
из серии что было раньше "рефакторинг" или "тестирование"? :)
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803811
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonа сколько тысяч строк в вашем проекте?Вы опять с индусскими метриками?
Вот простой пример:
mayton
Код: java
1.
2.
3.
4.
5.
6.
public static void recusiveN(int n, int maxN) {
        if (n <= maxN) {
              println(n);
              recursiveN(n + 1, maxN);
        }
}


Ваше решение неправильное просто потому что вы условие не прочли - условные переходы использовать нельзя. Подсказка как сравнить число с 0:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
	public static void main(String[] args) {
		N[] n = new N[]{() -> false, () -> true};
		System.out.println(n[-1 >>> 31].isNegative());
		System.out.println(n[0 >>> 31].isNegative());
		System.out.println(n[1 >>> 31].isNegative());
	}

	interface N {

		boolean isNegative();

	}


Идите рефакторите
...
Рейтинг: 0 / 0
Тестирование. Что именно тестировать? Как определить середину?
    #39803814
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов, да. Насчет условий я проглядел. Ну что-ж. Тернарный оператор сойдет.

Я почему спросил про метрики. Обычно (как правило) коплексность проекта растет от количества строк.
И от количества участников команды. Я не знаю что там у вас за проект. Возможно действительно
у вас всё лазурно и радужно.

Но чьорт возьми чем вы заняты? Может у вас вообще бэклог пустой. И проект уже давно не развивается.
...
Рейтинг: 0 / 0
25 сообщений из 361, страница 13 из 15
Форумы / Java [игнор отключен] [закрыт для гостей] / Тестирование. Что именно тестировать? Как определить середину?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]