
Sergey
27.05.2018
17:49:38
для какого пользователя?)

Dmitry
27.05.2018
17:50:10

Sergey
27.05.2018
17:50:34
какие наименования полей?) ты о чём?)

Dmitry
27.05.2018
17:50:40

Google

Мерлин
27.05.2018
17:50:43
твои действия?

Sergey
27.05.2018
17:51:13

Dmitry
27.05.2018
17:51:14
рефакторить

Мерлин
27.05.2018
17:51:20

Dmitry
27.05.2018
17:51:32
давай конкретную задачу

Sergey
27.05.2018
17:51:38
restart-case (или как он там в common lisp)

Dmitry
27.05.2018
17:55:27
я лишь говорю о том что вызывающей функции не надо возвращать какие то конкретные данные касающиеся реализации, достаточно типа ошибки для автоматической обработки этой ошибки.

Daniel
27.05.2018
17:55:49

Мерлин
27.05.2018
17:57:57
давай конкретную задачу
твой запрос поднимает виртуалки с чем-то тяжёлым
первый фейл: у тебя некоторые из виртуалок не поднялись из-за недостатка ресурсов
второй — у тебя разрыв сетки
третий — у тебя невалидный формат запроса (запрос сложный)
четвёртый — у тебя нет прав на создание опредёлённых виртуалок
пятый — у тебя протух токен
шестой — у тебя не запущены (не подключены, не созданы) какие-то из необходимых компонет
на части этиъ ошибок нужно просто умирать

Google

Мерлин
27.05.2018
17:58:23
на части — делать ретрай

Dmitry
27.05.2018
17:58:27

Sergey
27.05.2018
17:59:00

Мерлин
27.05.2018
17:59:00

Dmitry
27.05.2018
17:59:01

Daniel
27.05.2018
17:59:29
у ошибки ровно один тип - error. и это интерфейс с единственным методом Error()

Sergey
27.05.2018
17:59:55

Daniel
27.05.2018
18:00:42
в своем коде я прекрасно справляюсь. как сделать так, чтобы мне и снаружи приезжало информативное?

Мерлин
27.05.2018
18:01:28

Daniel
27.05.2018
18:01:40
чужие, да
от сторонних либ

Мерлин
27.05.2018
18:02:11
это только изменив stdlib, да (

Daniel
27.05.2018
18:02:17
ну и наружу мои ошибки отдать тоже было бы неплохо более внятным способом

Мерлин
27.05.2018
18:02:57

Dmitry
27.05.2018
18:03:05

Мерлин
27.05.2018
18:03:35
твои действия?
а теперь часть этих ошибок прилетает к тебе по сети, но не от твоих сервисов
твои действия?
а теперь часть этих ошибок прилетает к тебе по сети, но не от твоих сервисов и чатсь из них тебе нужно отдать на фронт, но нужна ещё интернационализация
твои действия?

Google

Daniel
27.05.2018
18:04:46

Мерлин
27.05.2018
18:05:11
твои действия?

Sergey
27.05.2018
18:05:18

Dmitry
27.05.2018
18:06:13

Daniel
27.05.2018
18:06:20
если серезно, то впилить параметрические типы - сложная задача, я не берусь. а вот поправить описание интерфейса error, реализацию errors.New() и fmt.Errorf() - это легко

Мерлин
27.05.2018
18:06:31
а теперь часть этих ошибок прилетает к тебе по сети, но не от твоих сервисов и часть из них тебе нужно отдать на фронт, но нужна ещё интернационализация, а ещё у тебя не 5 ошибок, а 105 ошибок, а ещё у тебя пользователь может создавать кастомные квери, и не пользователь тоже
твои действия?
примерно на третьем шаге ты начинаешь сходить с ума, если что

Kirill
27.05.2018
18:07:28

Dmitry
27.05.2018
18:07:37

Мерлин
27.05.2018
18:07:49

Sergey
27.05.2018
18:07:53

Sergey
27.05.2018
18:08:06
ты мой кумир

Dmitry
27.05.2018
18:08:12
ну тут архитектура пиздец
все в одну кучу навалено

Мерлин
27.05.2018
18:08:36

Kirill
27.05.2018
18:08:38
Что тут за ад и израиль

Sergey
27.05.2018
18:08:46

Dmitry
27.05.2018
18:08:48
реальный мир говнокода ?

Google

Daniel
27.05.2018
18:09:07
код всегда говнокод

Sergey
27.05.2018
18:09:10

Kirill
27.05.2018
18:09:19

Мерлин
27.05.2018
18:09:28

Kirill
27.05.2018
18:09:31

Dmitry
27.05.2018
18:10:02

Kirill
27.05.2018
18:10:35

Daniel
27.05.2018
18:10:40
Что тут за ад и израиль
да тут с утра движуха. даже с вечера. в соседнем чате тоже. началось все с вопроса "хорош ли go в качестве самого первого языка", дальше кто-то выкрикнул "генерики", и понеслась

Dmitry
27.05.2018
18:10:54
ну какие у меня могут быть предложения на рефакторинг абстрактного говнокода ? сесть и написать асбтрактный код отвечающий ооп принципам

Sergey
27.05.2018
18:11:10
так а почему он говно?

Admin
ERROR: S client not available

Daniel
27.05.2018
18:11:11
ооп - это хорошо, что ли?

Sergey
27.05.2018
18:11:26

Dmitry
27.05.2018
18:11:38
ооп это не серебряная пуля, но лучше пока не придумали

Kirill
27.05.2018
18:11:40

Sergey
27.05.2018
18:11:54

Kirill
27.05.2018
18:11:58

Dmitry
27.05.2018
18:12:20

Daniel
27.05.2018
18:12:46

Мерлин
27.05.2018
18:13:09

Google

Мерлин
27.05.2018
18:13:59
хоть десять раз у тебя DRY и по заветам всех семи томов "Программируем интерпрайз системы с оглядкой на ITIL"

Sergey
27.05.2018
18:14:02

Kirill
27.05.2018
18:14:13

Dmitry
27.05.2018
18:16:00

Sergey
27.05.2018
18:16:45
инкапсуляция может существовать независимо от ООП

Dmitry
27.05.2018
18:17:25
да, но входит в основологающие принципы ооп

Sergey
27.05.2018
18:17:53
и что? ООП не существует без инкапсуляции, но не наоборот
как ООП не существует без наследования

Мерлин
27.05.2018
18:18:14
в каком месте?
это внешний контракт

Kirill
27.05.2018
18:18:44

Dmitry
27.05.2018
18:18:52

Kirill
27.05.2018
18:19:08

Мерлин
27.05.2018
18:19:10

Sergey
27.05.2018
18:19:13

Dmitry
27.05.2018
18:19:17

Kirill
27.05.2018
18:19:27

Мерлин
27.05.2018
18:20:01
418 же)
кстати надо заиспользовать )

Антон
27.05.2018
18:20:10
418 же)
Для пользователя монопенисуально

Sergey
27.05.2018
18:20:17

Kirill
27.05.2018
18:20:24