@gogolang

Страница 1101 из 1630
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
для какого пользователя?)
который в 2 часа ночи полезет в логи сонный смотреть что же там сломалось опять

Google
Мерлин
27.05.2018
17:50:43
вернуть признак наличия ошибки и строку для пользователя.
у тебя может запрос зафейлится тремя разными способами, один требует ретрая через некоторое время, второй — сделать другой запрос, третий просто умереть

твои действия?

Sergey
27.05.2018
17:51:13
который в 2 часа ночи полезет в логи сонный смотреть что же там сломалось опять
/ничего не хочу сказать, но большинство ошибок можно решить без вмешательства пользователя/

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
я лишь говорю о том что вызывающей функции не надо возвращать какие то конкретные данные касающиеся реализации, достаточно типа ошибки для автоматической обработки этой ошибки.

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

на части этиъ ошибок нужно просто умирать

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

Dmitry
27.05.2018
17:58:27
телеграмма "вася еб твою мать подробности письмом"
ну да. одного признака наличия ошибки недостаточно, тип ошибки тоже нужен, но вот эти все поля, стектрейсы и т.д. - это "вася. у нас не сходится баланс. следуют 30000 строк баланса"

Мерлин
27.05.2018
17:59:00
на части — делать ретрай
на части — делать другой запрос

Dmitry
27.05.2018
17:59:01
что такое тип ошибки в go?
пользовательский тип.

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

Sergey
27.05.2018
17:59:55
у ошибки ровно один тип - error. и это интерфейс с единственным методом Error()
он имеет в виду структуру, которая удовлетворяет Error

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
ну и наружу мои ошибки отдать тоже было бы неплохо более внятным способом

это только изменив stdlib, да (
иногда чешутся руки :)

Мерлин
27.05.2018
18:02:57
иногда чешутся руки :)
так и препроцессор не долго добавить в компилятор

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

а теперь часть этих ошибок прилетает к тебе по сети, но не от твоих сервисов твои действия?

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

Google
Daniel
27.05.2018
18:04:46
так и препроцессор не долго добавить в компилятор
@kirilldanshin , ты впиливал препроцессор?

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

твои действия?

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
Sergey
27.05.2018
18:08:06
ты мой кумир

Dmitry
27.05.2018
18:08:12
ну тут архитектура пиздец

все в одну кучу навалено

Мерлин
27.05.2018
18:08:36
ну тут архитектура пиздец
то есть любая сложнее CRUD добро пожаловать в реальный мир

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
так а почему он говно?
куда кидать ошибки, если у тебя есть rest-сервис?

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

Sergey
27.05.2018
18:11:54
ооп это не серебряная пуля, но лучше пока не придумали
придумали не использовать наследование => это уже не ооп

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
препроцессор как пример того, до чего можно дойти, если начать форкать язык
Не лучший пример У меня есть сейчас три ветки компилятора. Один на go, один на c++ и вот он - твой пример на все случаи жизни - один на js

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
я говорю о том что детали реализации не должны отдаваться наружу.
а при чём тут детали реализации? пользователь отправил форму, ему пришло сообщение, в котором содержится информация о невалидном поле это внутренняя реализация?

в каком месте? это внешний контракт

Dmitry
27.05.2018
18:18:52
Мерлин
27.05.2018
18:19:10
А не паника в логах, потому что пользователь - дурак :))
не, ну отвечать 500 на любой чих — в этом есть своя прелесть конечно ))

Sergey
27.05.2018
18:19:13
Dmitry
27.05.2018
18:19:17
Кто сказал? ?
дяди умные

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

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

Sergey
27.05.2018
18:20:17
кстати надо заиспользовать )
чтобы фронтендерам не было скучно?

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