@gogolang

Страница 1461 из 1630
Aleksandr
26.09.2018
12:35:14
при таком подходе разраб не видел новый код)

Dmitri
26.09.2018
12:35:43
Свят-свят

При этом он его и не запускал

Вообще, мне кажется, что такие кейсы - они уже не в компетенции гошного компилятора

Google
Dmitri
26.09.2018
12:37:40
Если оно реально требует контроля, то уж билд-систему пилить всяко надо

Aleksandr
26.09.2018
12:37:41
ненене, не CI, а make-скрипт
это про другое) искать не буду, о речь шла про ci

Dmitri
26.09.2018
12:37:54
Ага, читал

Там было про "сгенеренный код кодом не считается, и держать его в Гите не надо"

Вот такая позиция, вроде, была

Aleksandr
26.09.2018
12:39:57
Вот такая позиция, вроде, была
и что-то такое было. но это все разные кейсы. многое обсудили)

Roman
26.09.2018
12:40:17
Там было про "сгенеренный код кодом не считается, и держать его в Гите не надо"
моя позиция была такова: "сгенеренный код - это тоже код, но не исходный, потому-что его не человек писал. Исходным кодом считается только то, что писал человек или сопостовимый интеллект" основываясь на https://softwareengineering.stackexchange.com/a/361460

Алексей
26.09.2018
12:40:51
Ну не знаю какая там у других людей была позиция, но у меня была позиция - кодогенерация обязательно должна запускаться при компиляции (точнее перед), чтобы полностью исключить ситуацию когда человек забыл запустить кодогенерацию.

Алексей
26.09.2018
12:41:25
А ci/не ci, коммитить/не коммитить - это уже другое дело.

Google
Roman
26.09.2018
12:46:20
И прошу обратить внимание что тут написано "должна запускаться при компиляции", а не "должна запускаться только при компиляции".
однако с этим тоже есть небольшая проблемка... autocompletion будет партачить если вручную не запускать

Алексей
26.09.2018
12:47:48
ну для автокомплита уж руками, или может ide сможет

Roman
26.09.2018
12:50:54
ну для автокомплита уж руками, или может ide сможет
в таком случае лучше чтоб IDE генерила при сохранении исходника

Алексей
26.09.2018
12:51:04
вот да

Roman
26.09.2018
12:51:32
но, это не отменяет нужду генерации при сборке, просто она пройдёт из кеша

Алексей
26.09.2018
12:51:50
точнее можно при сохранении запускать каждый раз генерацию

если есть кеширование, то будет быстро

Roman
26.09.2018
12:55:44
и при сохранении исходника и при сборке

Алексей
26.09.2018
13:34:42
При сохранении чего?
Но ведь же можно прочитать сообщение выше.

и при сохранении исходника и при сборке

вот это вот

snip
26.09.2018
13:35:04
Какого исходника?

Любого файла? Файла го? Джисон?

Алексей
26.09.2018
13:36:28
Я даже не знаю как на это реагировать

ну ведь можно же наверное прочитать сообщения выше и понять о чём идёт речь

snip
26.09.2018
13:37:49
Я почитал, там не сказано, там просто говорится что при изменении исходника

Схема на основе которой генерится коды может быть в JSON, xml, yaml, а может в го коде

Вот я и спрашиваю при изменении чего должна запускаться генерация

Roman
26.09.2018
13:46:15
Я почитал, там не сказано, там просто говорится что при изменении исходника
из контекста понятно что не всех файлов, "исходника" -> одного, значит того, из которого генерится код, не "исходников"

Google
snip
26.09.2018
13:47:25
из контекста понятно что не всех файлов, "исходника" -> одного, значит того, из которого генерится код, не "исходников"
Вопрос как раз в этом - как иде поймёт после изменения какого файла надо запускать генерацию?

Roman
26.09.2018
13:47:37
go run make.go -g

оптимизировать можно дальше, конечно

snip
26.09.2018
13:48:40
А зачем? Почему просто не запустить генерацию, если мейк файл все равно руками запускаем?

Roman
26.09.2018
13:49:20
в VSC есть такие полезные вещи как workspaces, где можно прописать выполнение скрипта на разные файлы: generated_api.json -> go run make.go -g generated_api.json

snip
26.09.2018
13:51:34
Автоматизация ради автоматизации без реальной пользы и это я не про vsc

Roman
26.09.2018
13:57:15
Автоматизация ради автоматизации без реальной пользы и это я не про vsc
из оперы "если мнение не моё - значит оно неверное"

snip
26.09.2018
13:58:40
из оперы "если мнение не моё - значит оно неверное"
Так ты же не смог объяснить в чем польза, запускаем мейк файл руками, чтобы не запускать генерацию руками Ну охереть автоматизатор)))

Roman
26.09.2018
14:00:37
Vadim
26.09.2018
14:00:59
Watch "JavaScript: Understanding the Weird Parts - The First 3.5 Hours" on YouTube https://youtu.be/Bv_5Zv5c-Ts

"The first 3.5 hours"

snip
26.09.2018
14:01:58
аргументация вся озвучена, вернее описана, выше. ты совершенно не понял о чём идёт речь
Я как раз понимаю, а ты теоретизируешь и высасываешь из пальца

Roman
26.09.2018
14:02:24
Watch "JavaScript: Understanding the Weird Parts - The First 3.5 Hours" on YouTube https://youtu.be/Bv_5Zv5c-Ts
How to write good JavaScript code, a step-by-step instruction: 1. Install TypeScript... *offtop*

hamper ?
26.09.2018
14:25:04
А почему может не работать ldflags? Делаю в пакете system переменную var Branch string, собираю через go build -ldflags "-X system.Branch=master" и при запуске в переменной пустая строка все равно.

Александр
26.09.2018
14:27:34
эм

насколько я помню это работает только для пакета main

но могу нагло врать

Илья
26.09.2018
14:28:09
нагло

Google
Илья
26.09.2018
14:28:17
это работает везде

John
26.09.2018
14:28:44
hamper ?
26.09.2018
14:29:37
Вот у меня в main работает а в отдельном пакете почему-то нет.

hamper ?
26.09.2018
14:33:32
И правда, так работает.

Александр
26.09.2018
15:36:01
что-то попробывал с DI

ну "такое"

Admin
ERROR: S client not available

Александр
26.09.2018
15:36:12
как мокать такие хедлеры не понятно

придется мокать весь "супер обьект"

Aleksandr
26.09.2018
15:42:22
покажи свой хэндлер

Александр
26.09.2018
15:43:36
type UsersHandler struct { app *application.MyApplication } func (h * UsersHandler) Index(w http.ResponseWriter, r *http.Request, p httprouter.Params) { ... h.app.GetResponce().EmptySuccess(w) }

ну что-то в этом стиле

самый минимальный показал

ну и конструктор конечно: func NewClinicHandler(app *application.MyApplication) *UsersHandler { return &UsersHandler{ app: app, } }

Aleksandr
26.09.2018
15:44:55
хэндлер у тебя зависит от приложения? странно

обычно он зависит например от db-слоя, сервисов

Александр
26.09.2018
15:45:19
у меня есть пакет application

в нем в фабрике - NewApplication стартуют все подключения, все что при инициализации делается

Google
Aleksandr
26.09.2018
15:46:07
так является ли application зависимостью для хэндлера?

Александр
26.09.2018
15:46:08
они свои "коннекты" кидают в стуктуру и эта структура уже начинает везде фигурировать

так является ли application зависимостью для хэндлера?
она прозрачно прокидывает во все связи

на самом деле там есть абстракция webserver, потом уже от нее идет прокидывания в хедлер того же самого

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

это такое аналог DI

Aleksandr
26.09.2018
15:48:16
ок. я отвечу за тебя. не является. прокидывать dic - это известный антипаттерн. если ты прокидываешь dic, то у тебя не di, а его имитация. Потому и протестить не сможешь нормально

Александр
26.09.2018
15:48:55
а что есть dic?

Aleksandr
26.09.2018
15:49:02
di container

контейнер твоих зависимостей

Александр
26.09.2018
15:49:29
так

а как тогда правильно? если мы хотим таки DI

Aleksandr
26.09.2018
15:50:53
прокидывать не dic, а конкретные зависимости

Александр
26.09.2018
15:51:13
а зачем нам тогда DI?

Aleksandr
26.09.2018
15:51:39
а зачем нам тогда DI?
в вики прочти)

Александр
26.09.2018
15:51:52
да читал

я думал что в этом и заключается

что мы контейнер лихо пихаем везде и забывает про зависимости

Страница 1461 из 1630