1. JavaScript / Говнокод #12541

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function renderLayout(layout, column, colidx, restrictions) {
            //...
            if (!colidx) {
                    var flag = 1 << 0 | 1 << 1 | layout.title.type << 3;
                    if (layout.title.split) flag |= 1 << 2;
            }
            //...
    }

    Магические преобразования... или как стать незаменимым сотрудником!

    Запостил: Eugene, 05 Февраля 2013

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

    • Да лан, вы там болваны совсем?
      Нулевой бит 1, первый 1, второй layout.title.split, третий layout.title.type.
      Один вопрос, нафига это в JS?
      Ответить
      • экономия памяти
        Ответить
      • >третий layout.title.type
        Очень сомневаюсь. Скорее "третий и последующие"
        Ответить
      • Окей, судя по всему, это стандартная и общепринятая практика использовать битовые сдвиги js. Тогда я ошибся сайтом, нужно было запостить на perfectcode.ru...
        Ответить
        • не до всех доходит что код пишется чтобы его могли прочитать
          Ответить
          • До джавоидов туго доходит. Видите ли, иде генерирует говнокод из кода, так что пофиг. А на самом деле, код должен содержать как можно меньше хрени, потому что код надо:

            - написать
            - прочитать
            - чем больше писать, тем больше вероятности сделать в нем ошибку (в with/using ошибиться особо негде, а в его эквиваленте try... finally можно по незнанию опустить finally)

            IDE спасает только от первого.

            Так что жавабляди опять соснули.
            Ответить
            • > в его эквиваленте try... finally можно по незнанию опустить finally
              А посоны и не знали...
              Ответить
              • А можно его и по знанию опустить
                Ответить
                • >нас нифига не опустили! кококококо!
                  Ответить
                  • Хорош кудахтать уже.
                    Тебя в школе жаболюбы чтоли обижают? Отнимают list comprehensions и прячут в анонимные классы?
                    Ответить
                    • Да, а как ты догадался?
                      Ответить
                    • Улыбают потуги жавоидов сказать, что их язык - современный. Factory во сне за вами не гоняется?

                      Пациенты используют подмену понятий (анонимные классы - это как лямбды, если закрыть выступающие края газеткой, "нинужно"), т.е. используют приемы, которые обычно используют прыщеблядки в классическом холиваре "линупс на десктопах".
                      Ответить
                      • Эти холивары на уровне школы. Я лично неплохо разбираюсь примерно в 10 языках, активно пишу на 5-6, включая python. Против Java ничего не имею.
                        Ответить
                      • Если ты считаешь, что те, кто пишут на жабе, в восторге от неё, ты ошибаешься. Да, там многого не хватает. Да, она слишком многословная.
                        К счастью, java-платформа не ограничивается лишь языком, и jvm на текущий день - одна из наиболее развитых и оптимизированных виртуальных машин. Что позволяет, к примеру, писать на groovy/jpython/scala/..., используя миллион готовых библиотек и JIT-компиляцию из коробки.
                        Ответить
                        • >Если ты считаешь, что те, кто пишут на жабе, в восторге от неё, ты ошибаешься. Да, там многого не хватает. Да, она слишком многословная.
                          Ну слава богу, выдавили таки.
                          Ответить
            • >в with/using ошибиться особо негде
              Ага. А как же.
              http://ideone.com/RMwA92

              >а в его эквиваленте try... finally можно по незнанию опустить finally
              Хе-хе-хе. Ну это уже вообще за гранью. Я-то уже думал тупее некуда.
              Ответить
    • Сенсация! Ученые СНГ вывели новый вид байтоеба: байтоеб на динамических языках! На подходе байтоебы на скриптовых языках MS Office и 1с.
      Ответить

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