Pull to refresh
23
0
Oleksiy Chechel @mirrr

Golang/JS developer

Send message
В gogs и гитлабе реквесты включают все пуши после создания реквеста. Пересоздавать ничего не нужно. А проверки и сборки работают по пушу в ветку, зачем ждать реквеста?
Простите, немного оторван от российской реальности. А зачем вообще логотип выборам?
Пару месяцев, а «total first year cost» что тогда?
Но как вам кажется, стали ли в наше время люди счастливее, чем 100 лет назад?
Исследования показывают, что на самом деле люди все менее и менее счастливы.

Поиск информации о подобном исследовании выдает только результаты, отдающие желтизной. Но и там:
В рамках своего исследования ученые проанализировали данные современного времени и времён 70-80 годов.
О каких 100 годах мы тогда говорим?
Ни ссылок на golang в конце, ни тестируемого кода, ни даже в тегах не упомянут) Похоже, что Go, в контексте статьи, это просто как в рекламе:

visit.exe на вашем сайте банится антивирусом как malware CXweb/OddDld-A
Хуже, когда своими попытками мотивировать, менеджмент превращает кодеров в ребят, которые не хотят кодить.

Но при этом легко обойтись и без него.


1) когда перед return есть работа, мы ее вложим в фигурные скобочки или вынесем в функцию.
2) когда разные if дают одинаковый результат, условия объединяют в одном if


Вообще, ничего не имею против goto, лишь бы не в моём проекте.

Речь шла о рефакторинге конкретного кода, автор комментария написал, что он идеально рефакторится с помощью goto. Я попросил пример этого рефакторинга.

Примеров, где goto может использоваться я и так предостаточно знаю, но практически в любом случае можно без него обойтись (об ассемблере я не говорю).
Да это ж не рефакторинг, а портирование)
Скрытый текст
1) передача слайса значением. Изменить данные мы конечно сможем, но длинну нет, а она 0.
2) никогда не использовал тройную запись, могу только предположить, что размерность 4 будет меньше длинны здесь: [::4]
3) конечно, иерархия должна присутствовать, иначе мы рискуем использовать подпакет, который не инициализирован.
4) iota сбрасывается каждый блок const, а он тут один.
5) в stdout, собственно, ничего и не выводим. Но это ж не причина для паники)
6) тут и объяснять ничего не надо, достаточно заменить return x на return, для тех, кто не заметил именованные возвратные значения
7) да кто их знает, сколько байт один иероглиф займет?)
Пример не мой, а тот, о котором вы писали: «идеально рефакторится goto».
В более объемном и сложном коде goto — зло, так как вносит серьезную путаницу и усложняет чтение. А для такого простого кода ни goto ни switch не нужны:

void foo()
{
    Window *wnd = CreateWindow();
    if (wnd) {
        Context *ctx = GetContext(wnd);
        if (ctx) {
            Renderer *renderer = GetRenderer(ctx);
            if (renderer) {       
                renderer->drawline(0, 0, 100, 100);
            }
            FreeRenderer(renderer);
        }
        FreeContext(ctx);
    }
    DestroyWindow(wnd);
}

*Это если предположить, что нам действительно зачем-то нужно очищать пустые объекты, как у вас в примере, иначе даже проще получится.
А можно идеальный пример с goto? А то у меня как-то так получилось:
function()
{
    if(!SUCCEEDED(Operation1()))
        return OPERATION1FAILED;

    if(!SUCCEEDED(Operation2()))
        return OPERATION2FAILED;

    if(!SUCCEEDED(Operation3()))
        return OPERATION3FAILED;

    if(!SUCCEEDED(Operation4()))
        return OPERATION4FAILED;

    return S_OK;
}

Логика подсказывает, что в слове «исподтишка» было допущено несколько опечаток, например пробел после «з»)
Похоже на автокоррекцию текста.
Код нужно скопировать из того самого твита, а не набрать вручную

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity