@oop_ru

Страница 279 из 785
Evgeniy
04.07.2017
23:31:39
у нас типа... больше одного проекта) аутсорс и все такое
вообще тут хорошая стори появляется

Google
Sergey
04.07.2017
23:31:54
наивно)
ну на самом деле норм даже, просто сейчас из-за этого подхода приходится иногда по выходным сидеть

Evgeniy
04.07.2017
23:31:54
воспользуйся тем что люди в легаси проекте очень многое хотят переписать

f4rt~
04.07.2017
23:31:58
а как ты думаешь зачем я воркшопы буду делать?)
и в опенсорс это выложить да да

Evgeniy
04.07.2017
23:32:08
предложи им чтобы все что они переписывают сначала покрывали тестами

во первых, проверять новый функционал проще что ничего не отвалилось

Sergey
04.07.2017
23:32:23
....они так и делают

чел, у меня не джуны

Evgeniy
04.07.2017
23:32:42
во вторых новый функционал будет с тестами)

Sergey
04.07.2017
23:32:43
если у тебя небыло тестов и надо чето порефакторить ты пишешь приемочные тесты

а мне надо юниты и tdd

потому что за счет этого я хочу сократить трудозатраты на других этапах пайплайна

Evgeniy
04.07.2017
23:33:24
я полюбил тесты когда начал писать в тдд свою либу

и с тех пор везде их форсю

Google
Evgeniy
04.07.2017
23:33:36
было это году в 2013

или 2012

Sergey
04.07.2017
23:33:55
и ты пишешь юнит тесты или таки приемочные?

property based testing юзал

?

Evgeniy
04.07.2017
23:34:19
я стараюсь создавать классы в tdd

прежде всего представить как это будет использоватся пользователем(другим программистом)

и сделать максимально удобно ему

Sergey
04.07.2017
23:34:51
тут маленький нюанс - либки просто

Evgeniy
04.07.2017
23:34:59
когда это получается написать тест просто

а потом уже реализация

Sergey
04.07.2017
23:35:05
скажи - ты на своих проектах именно tdd практикуешь или atdd?

не домашних проектах а тех за которые бабло получаешь

Evgeniy
04.07.2017
23:35:32
не совсем знаю в чем разница в atdd?

Sergey
04.07.2017
23:35:41
acceptance test driven...

Evgeniy
04.07.2017
23:36:00
Sergey
04.07.2017
23:36:20
тут от проекта зависит
типа "если проект на 2 месяца а потом ему смерть то можно не писать тесты"?

Evgeniy
04.07.2017
23:36:24
сейчас у нас продукт с определенным техническим долгом и нам хотябы acceptance

Sergey
04.07.2017
23:36:35
а новый функционал?

Evgeniy
04.07.2017
23:36:39
типа "если проект на 2 месяца а потом ему смерть то можно не писать тесты"?
все проекты изначально в такой формулировке а потом живут годами

Google
Evgeniy
04.07.2017
23:36:51
на текущей работе

Sergey
04.07.2017
23:37:12
разве нет?
ну оно конечно так, просто мне не очень нравится работать над проектов который я точно знаю что через 2 месяца умрет. Обычно все же у бизнеса чуть другие планы.

Evgeniy
04.07.2017
23:37:25
в первую очередь я смотрю на команду

Sergey
04.07.2017
23:37:28
от ситуации
ну то есть тесты ты полюбил но изменяешь

Evgeniy
04.07.2017
23:37:42
уровень

Sergey
04.07.2017
23:37:50
джуны?

Evgeniy
04.07.2017
23:37:52
иногда есть более важные проблемы в проекте

чем отсутствие юнит теста

Sergey
04.07.2017
23:38:02
ясно...

Evgeniy
04.07.2017
23:38:21
опять же скажу кэпство

если в проекте лапша

Sergey
04.07.2017
23:38:28
я уперся в то что что бы пофиксить "другие проблемы в проекте" так или иначе нужно повышать покрытие кода тестами.

Evgeniy
04.07.2017
23:38:30
с кучей магии

Sergey
04.07.2017
23:38:48
а там тебе и нормальный CI, и нормальное CD

Evgeniy
04.07.2017
23:38:54
юнит тесты далеко не все проблемы ловят

Sergey
04.07.2017
23:38:56
и ускорение пайплайна разработки

Evgeniy
04.07.2017
23:39:04
далее с увеличением количества тестов

Google
Evgeniy
04.07.2017
23:39:10
скорость сборки замедлится

Sergey
04.07.2017
23:39:12
юнит тесты далеко не все проблемы ловят
они и не должны, они должны предоставлять определенный уровень надежности

Evgeniy
04.07.2017
23:39:25
доводилось работать над проектом где компиляция в java была более 8 часов

Sergey
04.07.2017
23:39:26
скорость сборки замедлится
ты про юнит тесты или про приемочные?

Evgeniy
04.07.2017
23:39:35
и требовала 16гб рам

Sergey
04.07.2017
23:39:37
у меня на моем проекте юнит тесты сейчас ранаются в один поток 1 минуту

Evgeniy
04.07.2017
23:39:45
тесты исполнялись еще дольше

Sergey
04.07.2017
23:40:08
тесты исполнялись еще дольше
юнит тесты... 8 часов...

Evgeniy
04.07.2017
23:40:15
8 часов компиляция

Sergey
04.07.2017
23:40:18
в том числе и про юнит
давай ТОЛЬКО про юнит тесты

Evgeniy
04.07.2017
23:40:20
исходных кодов в java

без каких либо тестов

создание jar файлов

Sergey
04.07.2017
23:40:45
8 часов компиляция
не пробовали решить эту проблему?

Evgeniy
04.07.2017
23:40:48
и потом поверх этого надо было стартовать юнит тесты

Sergey
04.07.2017
23:41:00
ну то есть для того что бы заранать юнит тесты тебе не надо собирать jar

Evgeniy
04.07.2017
23:41:10
ну чтобы что то тестить надо скомпилировать

Sergey
04.07.2017
23:41:11
8 часов

Google
Evgeniy
04.07.2017
23:41:24
не пробовали решить эту проблему?
модульность и сборка модулей только тех что надо

Sergey
04.07.2017
23:41:26
ты можешь в несколько потоков компилить только то что надо для юнит тестов

Evgeniy
04.07.2017
23:41:30
и запуск тестов на уровне модулей

Sergey
04.07.2017
23:41:33
....

мне кажется что ты что-то выдумываешь

Evgeniy
04.07.2017
23:42:00
ну да

Sergey
04.07.2017
23:42:07
для того что бы заранать сюиту юнит тестов, настоящих, не надо собирать весь проект.

Evgeniy
04.07.2017
23:42:17
согласен

надо собирать модули

Sergey
04.07.2017
23:42:34
скомпилил классик нужный, скомпилил тестил - заранал. А теперь берем сервер на 16 ядер и паралелим

Evgeniy
04.07.2017
23:42:34
это если он у тебя разбит на разные jar файлы

Sergey
04.07.2017
23:42:47
это если он у тебя разбит на разные jar файлы
да не надо тебе разбивать руками ничего

у тебя каждый юнит тест будет jar-ой и он будет включать в себя только те зависимости которе ему нужны

очень много очень маленьких модулей

которые быстро собираются и быстро компилятся

хз что там компилятор 8 часов ражал

только если jni какое юзалось и что-то на Си собиралось

тогда поверю

но опять же - это не должно влиять на юнит тесты

Evgeniy
04.07.2017
23:44:07
ладно не верь

Sergey
04.07.2017
23:48:48
я не верю больше в тот факт что никто не подумал что "батюшки святы, надо оптимизировать процесс сборки ибо 8+ часов для получения командой фидбэка о проделанной работы это высшей степени не эффективно"

любой адекватный менеджер сразу заставил бы команду исправлять это

Страница 279 из 785