|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Озверин После код ревью и проверки на чек стайл код выгляди так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
Прямо в таком виде и прошел ревью? Вроде по канону так должно быть: Код: java 1. 2. 3. 4. 5. 6. 7. 8.
ОзверинВнимание, вопрос!?Не знаю в чем у вас вопрос, идея была показать мощь DI на одном классе? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 12:56 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Андрей Панфилов, моя идея, как di, ioc и сила слова помогут в данном случае что-либо отрефакторить, если из конструктора этого класса надо все равно убрать интерфейс класса b? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 13:04 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Как же быть проектам без DI? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:31 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
забыл никКак же быть проектам без DI? да нито от di не отказывается. Просто тут мнение вдруг появилось, что если есть di, то рефакторинг настолько прост становится, что можно с закрытыми глазами делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:33 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Озверинзабыл никКак же быть проектам без DI? да нито от di не отказывается. Просто тут мнение вдруг появилось, что если есть di, то рефакторинг настолько прост становится, что можно с закрытыми глазами делать. Да я понимаю, то риторический вопрос был) По иронии судьбы на текущем проекте начали с рефакторинга - убрали DI :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:37 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Озверинмоя идея, как di, ioc и сила слова помогут в данном случае что-либо отрефакторить, если из конструктора этого класса надо все равно убрать интерфейс класса b?Если вам принципиально не нравится наличие конструктора в жава коде (хотя проблемы нет), можете оломбочить проект и писать @RequiredArgsConstuctor, пойнт же в том, что без DI при добавлении новой зависимости в класс придется еще и ответную часть переделывать, а не просто в одном классе добавить еще одно поле и возможно поменять конструктор. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:39 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
ОзверинВсе знают, что код ревью, архитектор и все такое и ВСЕ РАВНО нет НИ ОДНОГО проекта, длительностью от 1 года, ГДЕ НЕ ТРЕБОВАЛСЯ бы рефакторинг. У вас есть примеры? У меня, лично, нет. Из чего я делаю вывод, что ваши слова да -правильные, но что-то не так с ними, раз не работает?Ну вот берем к примеру спринг - там на первой странице коммиты со словом "refactoring" покрывают последние полтора года, если смотреть по тексту самих коммитов, то там не рефакторинг-рефакторинг, а просто какие-то улучшения в отдельных классах, ничего принципиально не меняющие/ломающие, причем в абсолютном своем большинстве от одного человека. Здесь надо, конечно, сделать скидку на то, что спринг - это библиотека, а не приложение, поэтому им заниматься рефакторингом и ломать обратную совместимость по определению западло (хотя если посмотреть на другой проект - там и без рефакторинга ломают обратную совместимость направо и налево). Еще раз повторюсь: рефакторинг - это не стиль программирования, это расплата за старые грехи. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:59 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
забыл никКак же быть проектам без DI?код писать более аккуратно и функциональность наперед продумывать, а не как в TDD: пишем только то что требует тестовый сценарий, а потом постоянно рефакторим. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:01 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Андрей ПанфиловОзверинВсе знают, что код ревью, архитектор и все такое и ВСЕ РАВНО нет НИ ОДНОГО проекта, длительностью от 1 года, ГДЕ НЕ ТРЕБОВАЛСЯ бы рефакторинг. У вас есть примеры? У меня, лично, нет. Из чего я делаю вывод, что ваши слова да -правильные, но что-то не так с ними, раз не работает?Ну вот берем к примеру спринг - там на первой странице коммиты со словом "refactoring" покрывают последние полтора года, если смотреть по тексту самих коммитов, то там не рефакторинг-рефакторинг, а просто какие-то улучшения в отдельных классах, ничего принципиально не меняющие/ломающие, причем в абсолютном своем большинстве от одного человека. Здесь надо, конечно, сделать скидку на то, что спринг - это библиотека, а не приложение, поэтому им заниматься рефакторингом и ломать обратную совместимость по определению западло (хотя если посмотреть на другой проект - там и без рефакторинга ломают обратную совместимость направо и налево). Еще раз повторюсь: рефакторинг - это не стиль программирования, это расплата за старые грехи. так где тот самый проект, который живет без рефакторинга? По вашим словам, надо всего лишь а) нанять грамотного архитектора б) хороших специалистов в) просто заставить людей перестать ошибаться Где? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:07 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Андрей ПанфиловОзверинмоя идея, как di, ioc и сила слова помогут в данном случае что-либо отрефакторить, если из конструктора этого класса надо все равно убрать интерфейс класса b?Если вам принципиально не нравится наличие конструктора в жава коде (хотя проблемы нет), можете оломбочить проект и писать @RequiredArgsConstuctor, пойнт же в том, что без DI при добавлении новой зависимости в класс придется еще и ответную часть переделывать, а не просто в одном классе добавить еще одно поле и возможно поменять конструктор. мне принципиально непонятна связь наличия ioc и di с тем, что рефакторинг необходим? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:09 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Андрей ПанфиловОзверинВсе знают, что код ревью, архитектор и все такое и ВСЕ РАВНО нет НИ ОДНОГО проекта, длительностью от 1 года, ГДЕ НЕ ТРЕБОВАЛСЯ бы рефакторинг. У вас есть примеры? У меня, лично, нет. Из чего я делаю вывод, что ваши слова да -правильные, но что-то не так с ними, раз не работает?Ну вот берем к примеру спринг - там на первой странице коммиты со словом "refactoring" покрывают последние полтора года, если смотреть по тексту самих коммитов, то там не рефакторинг-рефакторинг, а просто какие-то улучшения в отдельных классах, ничего принципиально не меняющие/ломающие, причем в абсолютном своем большинстве от одного человека. Здесь надо, конечно, сделать скидку на то, что спринг - это библиотека, а не приложение, поэтому им заниматься рефакторингом и ломать обратную совместимость по определению западло (хотя если посмотреть на другой проект - там и без рефакторинга ломают обратную совместимость направо и налево). Еще раз повторюсь: рефакторинг - это не стиль программирования, это расплата за старые грехи. насчет спринга, в котором нет "ничего ломающего" при рефакторинге..я конечно, не могу просмотреть все эти коммиты, но такое ощущение, что вы последние 5-7 лет не со спрингом работаете, а где то опять же на поляне с единорогами. Смореть надо на "критикал" баги. Их там много. Если смотреть так - сквозь пальцы на коммты с рефакторингом(даже если условиться, что сюда они вошли все), то даже в этом списке достаточно вещей с перемещением классов, изменением логики, созданием новых классов, а значит значительным изменением логики. Почему же это не рефакторинг-рефакторинг? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:21 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
ОзверинАндрей Панфиловпропущено... Ну вот берем к примеру спринг - там на первой странице коммиты со словом "refactoring" покрывают последние полтора года, если смотреть по тексту самих коммитов, то там не рефакторинг-рефакторинг, а просто какие-то улучшения в отдельных классах, ничего принципиально не меняющие/ломающие, причем в абсолютном своем большинстве от одного человека. Здесь надо, конечно, сделать скидку на то, что спринг - это библиотека, а не приложение, поэтому им заниматься рефакторингом и ломать обратную совместимость по определению западло (хотя если посмотреть на другой проект - там и без рефакторинга ломают обратную совместимость направо и налево). Еще раз повторюсь: рефакторинг - это не стиль программирования, это расплата за старые грехи. так где тот самый проект, который живет без рефакторинга? По вашим словам, надо всего лишь а) нанять грамотного архитектора б) хороших специалистов в) просто заставить людей перестать ошибаться Где? +1 Мда.. Звучит как хорошая мечта. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:45 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
имхо спор идет о следствиях юнит тесты и рефакторинг - это следствие того, что ооп стали пихать везде ООП оч уместно в разработке библиотек UI компонентов по опыту, дельфи, дотнет, реакт - это классные библиотеки UI компонентов а в бд или бэкенде в вебе ООП нахер не надо в бд - реляционные операции а в бэкенде - request-response, т.е. последовательная логика, и реализация в императивном стиле как раз к месту имхо, ООП в базе или в бэкенде - это как на лыжах по асфальту: "можно, но зачем?" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 18:05 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
В бэкенде вполне себе умество заводить плоские бизнес-сущности. Plain. POJO. Насчет логики. Да. Ее можно реализовать процедуральном стиле. Но скажите. Вы сколько практически видели рабочих бизнес-бэкендов написанных без ООП вообще? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 18:11 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
maytonВ бэкенде вполне себе умество заводить плоские бизнес-сущности. Plain. POJO. Насчет логики. Да. Ее можно реализовать процедуральном стиле. Но скажите. Вы сколько практически видели рабочих бизнес-бэкендов написанных без ООП вообще? бгг я когда-то сам так писал JSP и JDBC - и никаких орм никогда не видел смысла в том, чтобы вытащить данные селектом в resulteset, а потом, отфильтровать одну запись и сделать из результата класс для active record а потом создать коллекцию, в которую запихать несколько active records нахера? если в резалтсете и так набор записей ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 18:25 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
казинакmaytonВ бэкенде вполне себе умество заводить плоские бизнес-сущности. Plain. POJO. Насчет логики. Да. Ее можно реализовать процедуральном стиле. Но скажите. Вы сколько практически видели рабочих бизнес-бэкендов написанных без ООП вообще? бгг я когда-то сам так писал JSP и JDBC - и никаких орм никогда не видел смысла в том, чтобы вытащить данные селектом в resulteset, а потом, отфильтровать одну запись и сделать из результата класс для active record а потом создать коллекцию, в которую запихать несколько active records нахера? если в резалтсете и так набор записей Наиболее красивую интеграцию мира ООП и баз данных я видел в InterSystems Cache. Там всё было - native. Я даже готовился на разраба этой системы в двухтысячных. Но вакансия cгорела. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 18:31 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
казинакmaytonВ бэкенде вполне себе умество заводить плоские бизнес-сущности. Plain. POJO. Насчет логики. Да. Ее можно реализовать процедуральном стиле. Но скажите. Вы сколько практически видели рабочих бизнес-бэкендов написанных без ООП вообще? бгг я когда-то сам так писал JSP и JDBC - и никаких орм никогда не видел смысла в том, чтобы вытащить данные селектом в resulteset, а потом, отфильтровать одну запись и сделать из результата класс для active record а потом создать коллекцию, в которую запихать несколько active records нахера? если в резалтсете и так набор записей вам это с вадей обсудить. На вопрос - очень простой ответ - читаемость. Другой вопрос, что ооп в яве пошло немноог по иному пути и мне больше заходит ddd в плане к подходу именования и сущностей, объединения свойств и так далее. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2019, 08:18 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Озверинмне принципиально непонятна связь наличия ioc и di с тем, что рефакторинг необходим?Ну мне тоже непонятна необходимость рефакторинга при наличии IoC/DI - кода меньше, зависимости через весь стэк таскать не нужно, просто делаем точечные изменения там где нужно и все. Озвериннасчет спринга, в котором нет "ничего ломающего" при рефакторинге..я конечно, не могу просмотреть все эти коммиты, но такое ощущение, что вы последние 5-7 лет не со спрингом работаете, а где то опять же на поляне с единорогами. Смореть надо на "критикал" баги. Их там много. Если смотреть так - сквозь пальцы на коммты с рефакторингом(даже если условиться, что сюда они вошли все), то даже в этом списке достаточно вещей с перемещением классов, изменением логики, созданием новых классов, а значит значительным изменением логики. Почему же это не рефакторинг-рефакторинг?Чет не то, вы просили промер проекта где не рефакторят каждый раз после похода в уборную - я вам его привел, вы же начинаете привередничать в духе, а вот смотрите: там баги в проекте, да еще за полтора года аж целый класс из одного модуля в другой перенесли. Для продуктовой разработки рефакторинг не свойственен, более того, более другим языкам рефакторинг тоже не свойственен, вы же обчитались туалетного чтива и несете гнилую идею в массы, а в вашем чтиве прямым текстом написано про целевую аудиторию: разработчик - дурак и с первого раза код написать не может. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2019, 09:41 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Андрей Панфилов, а сколько тысяч строк в вашем проекте? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2019, 10:39 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Андрей Панфилов, я просил проект, где нет рефакторинга, вы показали пример, где он есть. По-моему, это у вас разногласия с вашими единорогами...У вас какая-то сортирная тематика пошла: то обоссать архитектора, то в туалет сходить за рефакторингом. Все, что от вас требуется, это признать, что в мире фактически нет проектов более или менее крупных, которые обходятся без рефакторинга ... Ну если вы такоие знаете, я тут подожду, чтобы вы привели пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2019, 10:53 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
ОзверинДо ioc код выглядит вот так: ... После код ревью и проверки на чек стайл код выгляди так: Это не IoC. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2019, 10:54 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
alex55555ОзверинДо ioc код выглядит вот так: ... После код ревью и проверки на чек стайл код выгляди так: Это не IoC. срочно расскажите, что это. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2019, 10:56 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
какое интересное перевоплощение из тестирования в рефакторинг ))) из серии что было раньше "рефакторинг" или "тестирование"? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2019, 10:58 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
maytonа сколько тысяч строк в вашем проекте?Вы опять с индусскими метриками? Вот простой пример: mayton Код: java 1. 2. 3. 4. 5. 6.
Ваше решение неправильное просто потому что вы условие не прочли - условные переходы использовать нельзя. Подсказка как сравнить число с 0: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Идите рефакторите ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2019, 10:59 |
|
Тестирование. Что именно тестировать? Как определить середину?
|
|||
---|---|---|---|
#18+
Андрей Панфилов, да. Насчет условий я проглядел. Ну что-ж. Тернарный оператор сойдет. Я почему спросил про метрики. Обычно (как правило) коплексность проекта растет от количества строк. И от количества участников команды. Я не знаю что там у вас за проект. Возможно действительно у вас всё лазурно и радужно. Но чьорт возьми чем вы заняты? Может у вас вообще бэклог пустой. И проект уже давно не развивается. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2019, 11:04 |
|
|
start [/forum/topic.php?fid=59&msg=39803429&tid=2121354]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
153ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 238ms |
total: | 480ms |
0 / 0 |