1. Ruby / Говнокод #29081

    0

    1. 1
    2. 2
    3. 3
    4. 4
    if (analysis.document? && analysis.update(name: params[:analysis][:name], description: params[:analysis][:description], anonymous: params[:analysis][:anonymous], dependency: analysis.dependency)) ||
           (analysis.cloud_file_link.present? && analysis.update(name: params[:analysis][:name], description: params[:analysis][:description], anonymous: params[:analysis][:anonymous], dependency: analysis.dependency)) ||
           (analysis.videolink.present? && analysis.update(name: params[:analysis][:name], description: params[:analysis][:description], videolink: params[:analysis][:videolink], anonymous: params[:analysis][:anonymous], dependency: analysis.dependency)) ||
           analysis.update(name: params[:analysis][:name], description: params[:analysis][:description], hyperlink: params[:analysis][:hyperlink], anonymous: params[:analysis][:anonymous], dependency: analysis.dependency)

    pls kill me

    Запостил: Shannarra_, 28 Января 2025

    Комментарии (9) RSS

    • правильно зачем нам структуры когда есть хеши хешей
      Ответить
    • params[:paralysis]

      а вообще есть же ** блядь
      Ответить
      • анализис парализис.


        а ты вкурсе же почему тут `:foo` ? Про символы и мутабельные (не фризанутые) строчки в руби знаешь?
        Ответить
        • не умеет интернировать строки как джава или американцы

          символы это принудительное интернирование за счёт труда макаки-сизифа
          Ответить
          • Ну кроме того строки там мутабельны, потому если ты явно не заказал фриз, то
            irb(main):001:0> foo = "koko"
            => "koko"
            irb(main):002:0> data = {foo => 42}
            => {"koko"=>42}
            irb(main):003:0> foo["koko"]
            => "koko"
            irb(main):004:0> foo[1]='z'
            => "z"
            irb(main):005:0> foo["koko"]
            => nil

            какой бугор ))

            но конечно они тут не адиноки. Знаешь атомы же?

            юникс
            https://tronche.com/gui/x/xlib/window-information/XInternAtom.html

            виндавоз
            https://learn.microsoft.com/en-us/windows/win32/dataxchg/about-atom-tables
            Ответить
            • ну мутабельность вроде в третьей удолили

              > Знаешь атомы же?

              Они возввращают один и тот же char*, чтобы не аллоцировать лишний раз память? Чтобы можно было развлекаться, переписывая NULL-терминатор?
              Ответить
              • не обязательно чар, просто некоторый идентификатор.

                У тебя существует некая глобальная таблица символов, и вот есть символ "foo", и он всегда уникален. Ты его всегда по имени получаешь.

                У иксов (`XInternAtom`) такая таблица привязана к серверу (ну там диспле передают, это ключ к серверу типа DISPLAY=foo:0 Знаешь же).
                У винды просто всё глобальное (`AddAtom("Foo")`)) (подрзреваю что на уровне worksta тоже, но не суть).

                Вот у руби это две точечки. Еще вроде у JS символы есть
                Ответить
    • Код скопирован из клиентского проекта очень «умны» французов :Д

      Они объяснили, как это легко читается и поддерживается, а потом дали нам это говно.
      Ответить
      • мы как раз обсуждали использование термина moudaque
        Ответить

    Добавить комментарий