
Pawel
14.09.2018
10:42:09

Alexander
14.09.2018
10:42:44
для крудов орм нормуль.

Pawel
14.09.2018
10:44:23
С ОРМ-кой БЛ в проекте лучше структурирована и более прозрачна. Особенно если ОРМ - code first

Google

Alexander
14.09.2018
10:46:04
хз, хз, вообще мне кажеттся БЛ от получения/соханения данных должна быть отделена как можно дальше
а что там в DAO слое - орм или руками запросы - БЛ пофиг должно быть

Alex
14.09.2018
10:47:22
да орм это супер сила, под капот не лазить, но когда посмотреть как она генерит sql сразу появляються вопросы что это такое?

Pawel
14.09.2018
10:48:24

Alexander
14.09.2018
10:48:38
и это печально.

Andrei
14.09.2018
10:48:55

Pawel
14.09.2018
10:49:21
и это печально.
ещё печальнее что полностью БЛ в rdbms не перенесёшь, ибо это совсем уж адок
вот и проиходится извращаться

Andrei
14.09.2018
10:49:49
и sql руками не пишешь и ты сразу понимаешь, какой sql будет сгенерирован

Pawel
14.09.2018
10:54:43

Andrei
14.09.2018
10:59:48

Roman
14.09.2018
11:09:48
const *const Object
я пока-что не собираюсь описывать пропосале обновлённое поведение gofmt, слишком плохого знаю его правила и аргументацию

The
14.09.2018
11:23:58
чет долго не заходил в чат, а тут иммутабельность, модули, это точно чатик по го?

Google

Alexander
14.09.2018
11:24:29
коллега, вы чего? мы тут уже два месяца монады вовсю коммутируем. вливайтесь

The
14.09.2018
11:24:30
пойду почитаю что там в го новенького, а то такое ощущение что я многое пропустил.

Pavel
14.09.2018
11:25:04

The
14.09.2018
11:25:46
та вот смотрю какие-то модули появились, которые решают какие-то проблемы с gopath.

Pavel
14.09.2018
11:26:14
Не парься, не используй их.

Pawel
14.09.2018
11:30:57
ага, он самый
Не сказал бы, что он one love. Я его только на крайняк использую - когда нужно динамически менять структуру запростов, типа например по разным полям фильтровать товар.

The
14.09.2018
11:34:15
вообще по clean architecture пробовал сделать
пока на простеньком примере, но честно говоря больно как-то это все

Pawel
14.09.2018
11:56:50

The
14.09.2018
11:57:33
Я не для тестов

Pawel
14.09.2018
11:58:13
мне даже в голову другое применение подобному не приходит

The
14.09.2018
11:59:54
Independent of Database. You can swap out Oracle or SQL Server, for Mongo, BigTable, CouchDB, or something else. Your business rules are not bound to the database.
Сорян за пасту с телефона не удобно отвечать

Artem
14.09.2018
12:00:33
В го вроде все драйвера баз строятся на стандартном

The
14.09.2018
12:01:10
Короче я пытался вот это натянуть на Go, и потом на то что выйдет натянуть небольшой проектик: https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html
Вообще концепция годная
Но в некоторых местах не придумал как сделать и наговнякал

Aleksandr
14.09.2018
12:04:22
Вообще концепция годная
годная, но 90% прогеров не сталкиваются с проектами, где это нужно применить. Но иногда применяют там где не нужно - и это больно

Google

V
14.09.2018
12:05:18
Что больного в использовании паттерна репозиторий?

Aleksandr
14.09.2018
12:06:41

V
14.09.2018
12:07:08
Это ещё репозиторий+сервисы+деливери

The
14.09.2018
12:07:33

Aleksandr
14.09.2018
12:09:02

V
14.09.2018
12:10:57

Roman
14.09.2018
12:11:42

?
14.09.2018
12:13:21
Поторопился просто. Там есть правuльный ответ.

Лемур
14.09.2018
12:14:07
11

Aleksandr
14.09.2018
12:14:21

The
14.09.2018
12:14:32
проблема не ясна. создай логгер, им отсылай)
как пробрасывать её от внутренних кругов в наружние (диаграмма Clean Arch), как определить границы.
я думал на каждый слой создать структуру ошибки, при инициализации создавать UUID, и в логи писать UUID, если ошибка ожидаемая, то на клиенте отобразить что-то вроде "Ошибка такая-то, бла-бла". Если что-то неожиданное: восстановленная паника не дай бох, или что-то ещё, то пишем что-то вроде "Unexpected Error. Hash: <тут_uuid>".

The
14.09.2018
12:15:00
короче именно сам враппинг ошибок выматывает

Roman
14.09.2018
12:15:01

?
14.09.2018
12:15:22
@mr_tron спойлерить-то зачем?)

Aleksandr
14.09.2018
12:16:30

Roman
14.09.2018
12:17:12
мдаааааа подъ€бнули так подъ€бнули

Лемур
14.09.2018
12:18:09
не успел)
Давайте ссылку на тест?

Google

?
14.09.2018
12:19:02
@zelenin спойлерить-то зачем? Если бы вы сами прошли тест и читали формулировки внимательно, то поняли бы, что ответить правильно было довольно легко

Roman
14.09.2018
12:19:16
@b7here тест заставляет тебя мыслить в стиле „правильного ответа может не быть в списке“ из-за чек-боксов, следственно ты выбираешь ничего не указывать потому-что правильного ответа тут нет и тут тебе „а“ английская, что ты В ПРИНЦИПЕ не можешь распознать…. это какой-то, извините, подлый на€б

?
14.09.2018
12:19:27
https://bit.ly/gogolang

Aleksandr
14.09.2018
12:19:38

V
14.09.2018
12:20:23

Roman
14.09.2018
12:21:12

The
14.09.2018
12:21:28

Aleksandr
14.09.2018
12:23:00

Admin
ERROR: S client not available

Roman
14.09.2018
12:26:03
плюс в ещё одном вопросе (спойлерить не буду) я указал 1 из 2 верных решений (поторопился немного), получил 0 пунктов))))

?
14.09.2018
12:29:54

Roman
14.09.2018
12:30:28
@b7here ещё я очень рекомендую проганять примерный код через gofmt, иначе это опять-же издевательство. Кто будет читать неформатированный код в реальности?! Правильно, только тот кто не уловил философию Go.

?
14.09.2018
12:32:02
чья ошибка? ошибка автора теста или ошибка юзера?
Как посмотреть, но с учетом критики варианты ответов слегка уточнены. Теперь не отвертишься. Хотя изначально ноль галок означало "пропускаю вопрос, перехожу к следующему". Казалось, это достаточно очевидно

Roman
14.09.2018
12:34:07

Pawel
14.09.2018
12:34:08

?
14.09.2018
12:35:12

Roman
14.09.2018
12:36:05

Google

?
14.09.2018
12:37:57

Roman
14.09.2018
12:38:08
никто не будет review’ить твой код прежде чем ты не проверишь его на форматирование и компилирование.
даже если человек это сам не сделал - я прогоню его скриптом через gofmt и go build.
если код не работает - я его смело верну автору с пометкой „not ready for review - *reason*“

?
14.09.2018
12:38:34
Именно. Прогоните. Желательно, в уме.

Roman
14.09.2018
12:38:37
с компилированием может для этого конкретного теста ещё простительно, но с форматированием нет, абсолютно нет

Aleksandr
14.09.2018
12:39:04

Roman
14.09.2018
12:39:07
в уме, Карл!

?
14.09.2018
12:40:29
Да. Или gofmt такая богоданная штука, не поддающаяся осмыслению человека?

Roman
14.09.2018
12:40:52
хорошо, тогда моё предложение немного переименовать тест: „unrealistic Go code review test“ дабы не тратить людям время))

Savely
14.09.2018
12:42:58

?
14.09.2018
12:44:19
Моё мнение: человек должен уметь бесстрашно читать код, даже если в нем для экономии места табуляция одним пробелом сделана, а пара строк склеена через точку с запятой. Gofmt поправит. Если же точка с запятой ввергает вас в панику, тогда да, unrealistic. Хотя даже так, сквозь слезы, у вас получился неплохой балл

Roman
14.09.2018
12:44:20

?
14.09.2018
12:44:55

Roman
14.09.2018
12:45:23

?
14.09.2018
12:46:32

Roman
14.09.2018
12:46:48

?
14.09.2018
12:47:44
Не создавайте абсолютов. Код валидный? Валидный. Проходит, песочницу, компилятор и прочее? Проходит.
Стал бы я так писать? Не стал бы. Смог бы я понять, что хотел сделать автор такого кода? Смог бы
Смогли вы понять? Видимо, нет
Претензия в этом?