
Kirill
22.03.2018
09:35:33
Но нотки здравого смысла в этом есть

Mykyta
22.03.2018
09:39:02

Dmitry
22.03.2018
09:39:37
Юнит тест может иметь доступ к внутренним частям объекта - это нормально.
В TDD это само по себе может получиться на шаге рефакторинга, когда вы некую функциональность выносите в отдельный метод, чтобы упростить тестирование

Google

Dmitry
22.03.2018
09:41:10
Простые и читаемые тесты куда важнее эфемерного требования тестировать только внешние интерфейсы

Mykyta
22.03.2018
09:42:04
Вообще не имеет смысла тестировать ничего internal
Во-первых, все тесты поломаются, если кто-то что-то порефакторит
Во-вторых, это происходит, если код - лапша и цикломатическая сложность делать код недостижимым для теста

Roman
22.03.2018
09:43:01

Dmitry
22.03.2018
09:43:24
Да
Как раз для нетривиальщины и работает

Roman
22.03.2018
09:44:00
Да
а можно чуть подробнее рассказать как?

Dmitry
22.03.2018
09:44:12
А что именно непонятно?

Mykyta
22.03.2018
09:44:28
В-третьих, это нарушает инкапсуляцию, и три принципа из solid

Dmitry
22.03.2018
09:44:28
Вы пишете тесты, потом код

Roman
22.03.2018
09:44:42
ну вот пишу я что-то. накатал тесты, потом код. а потом оказалось, что требования поменялись
ну или просто идея нерабочая

Google

Mykyta
22.03.2018
09:45:03

Dmitry
22.03.2018
09:45:39
Ничего не нарушает. Это же тесты - там другие правила, не путайте. Ещё скажите, что DRY нарушают.

Roman
22.03.2018
09:46:22

Dmitry
22.03.2018
09:46:27
Меняете тесты и все

Roman
22.03.2018
09:46:49
получается, что мы 2 раза писали зря: сначала тесты, потом код.

Mykyta
22.03.2018
09:47:12

Kirill
22.03.2018
09:47:31
Хоть сначала тесты потом код, хоть наоборот

Roman
22.03.2018
09:48:28
Так это в любом случае будет
с чего это вдруг? сначала пишем код, потом покрываем тестами. если мы на этапе написания кода поняли что идея нерабочая - просто переписываем код, а не тесты+код

Alexander
22.03.2018
09:48:56

Kirill
22.03.2018
09:49:02

Mykyta
22.03.2018
09:49:19
и?
Ну у тебя есть код, задача поменялась - его не надо переписывать, а просто расширять так, чтобы он решал какую-то новую задачу

Dmitry
22.03.2018
09:49:34
Если вы тестируете идеи - стоит задуматься о необходимости тестов

Kirill
22.03.2018
09:49:49

Roman
22.03.2018
09:50:45

Dmitry
22.03.2018
09:51:29
Значит у вас плохо с экспертизой

Kirill
22.03.2018
09:51:42
Всё равно переписывать

Google

Mykyta
22.03.2018
09:52:00
Чтобы использовать TDD, надо изначально сначала в голове выделить все зависимости, потом в коде описать их интерфейсами и держать в голове, как это все вместе потом будет работать. После чего для каждого интерфейса по-отдельности создавать реализацию и ее тестировать

Roman
22.03.2018
09:52:08
чтобы далеко не ходить: например, мы пишем какой-нибудь умножатель матриц. написали кучу тестов, начали писать код и поняли что оно неприемлемо медленно.

Dmitry
22.03.2018
09:52:40
Темы у вас останутся

Kirill
22.03.2018
09:52:44

Dmitry
22.03.2018
09:52:45
Реализацию поменяете

Mykyta
22.03.2018
09:53:21

Александр
22.03.2018
09:53:30
народ, а как можно бахнуть "дешешо и сердито" взаомодействие между процессами по сети?

Roman
22.03.2018
09:53:31

Александр
22.03.2018
09:53:53
у меня есть "мамка" и "дети", дети постоянно шлют пакеты на мамку

Roman
22.03.2018
09:54:33

Kirill
22.03.2018
09:54:37

Александр
22.03.2018
09:54:54
Udp
а более высокоуровневое? ?

Александр
22.03.2018
09:55:04
не охото это все с нуля реализовывать

Kirill
22.03.2018
09:55:11

Александр
22.03.2018
09:55:18
охото просто структуру кинуть, структуру получить

Kirill
22.03.2018
09:55:42
Если клиенты не мобильные, то используй grpc

Roman
22.03.2018
09:55:49
Udp
а и кидаться не больше mtu-28 байт?

Kirill
22.03.2018
09:56:12

Roman
22.03.2018
09:56:22

Kirill
22.03.2018
09:56:37
Но все мои знакомые против grpc

Google

Roman
22.03.2018
09:56:45
Да
а потом вспомнить про pmtu и фрагментацию
и понеслось ))

Kirill
22.03.2018
09:57:01
Но удп решает вопросы, атвичаю

Roman
22.03.2018
09:57:39

Kirill
22.03.2018
09:58:15

Roman
22.03.2018
09:58:46

Александр
22.03.2018
09:59:27
а вот насколько быстро будут доставлены "пакеты", не критично

Admin
ERROR: S client not available

Александр
22.03.2018
10:02:12
и главное что бы в разработки можно было быстро накидать, без эти всех нюансов с сетью ?
я уже прикидываю gob + tcp

Daniel
22.03.2018
10:04:51
зачем?
почему не json + http?

Roman
22.03.2018
10:05:48
а json будет жирный

Alex
22.03.2018
10:06:13
кто нибудь знает как в logrus сделать пересоздние файла логов каждый день?

Daniel
22.03.2018
10:07:03

Igor
22.03.2018
10:07:05

Daniel
22.03.2018
10:08:00

Google

Roman
22.03.2018
10:08:01

Daniel
22.03.2018
10:08:12
у нас не просили прекрасное

Александр
22.03.2018
10:08:19
zmq наводит на меня тоску ?

Daniel
22.03.2018
10:08:28
у нас просили дешевое и сердитое на этапе разработки

Roman
22.03.2018
10:08:29

Александр
22.03.2018
10:08:30
это вы называете "дешевым в разработке"? ?

Daniel
22.03.2018
10:08:45
да, я называю это дешевым в разработке

Igor
22.03.2018
10:08:45
http + msgpack

Roman
22.03.2018
10:09:25

Daniel
22.03.2018
10:10:29

Александр
22.03.2018
10:10:34
избыточно, мне только структуры в одну сторону кинуть

Daniel
22.03.2018
10:10:46

Александр
22.03.2018
10:11:00
udp это траханье с доставкой ?

Roman
22.03.2018
10:11:01
и ему гарантии ннада

Daniel
22.03.2018
10:11:21

Roman
22.03.2018
10:11:47

Daniel
22.03.2018
10:12:03
в интернетах и с udp проблема

Roman
22.03.2018
10:12:11

Александр
22.03.2018
10:12:35
и так и так

Roman
22.03.2018
10:12:36

Daniel
22.03.2018
10:12:44
какие?!