1. ActionScript / Говнокод #19323

    +21

    1. 1
    2. 2
    3. 3
    while(container.x < targetX) {
         container.x++;
    }

    Запостил: flashgangsta, 18 Января 2016

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

    • container.x = max(container.x, targetX)?
      Ответить
    • Кстати, gcc этот код вполне нормально соптимизировал в if :)
      Ответить
      • Я думаю, gcc всё же не actionscript компиляет.
        Ответить
      • умел бы gcc еще на ходу править исходники делая эквивалентные соптимизированные замены...
        Ответить
        • Как ты это байтоёбство потом читать будешь...
          Ответить
          • так в том то и загвоздка чтобы на выходе было не байтоебство (vect.data()[vect.size()-1]) а осмысленные конструкции (vect.last()).

            А уж выкинуть пустые/никогда не выполняющиеся циклы/условия точно можно
            Ответить
      • вот так?
        if(container.x < targetX) {
             container.x++;
        }
        Ответить
        • Вот так:
          if(container.x < targetX) {
               container.x = targetX;
          }
          Ответить
          • а что выдаст для дробного?
            Ответить
            • Цикл оставит. Оптимизация только для целых сработала.
              Ответить
              • Кстати, в сишке container.x и targetX могут быть и указателями, причём если container.x указывает на тип размером больше байта, то инкремент работает по-хитрому.
                Ответить
    • А вы заметили, что при комментировании капчу вводить не обязательно?
      Ответить
      • Ты просто слишком долго писал коммент, таймаут на серверной стороне закончился, и он забил на проверку капчи.
        Ответить
      • Да, заметили. Капча даётся либо гостям, либо тем, кто часто комментирует. Если подождать до того момента, когда капчу из-за частого комментирования бы не дали, то можно не вводить.
        Ответить
    • container.x = 0
      targetX = 0.5
      Ответить
      • if (container.x <= targetX)
        {
             container.x = ceil(targetX);
        }

        Не AS, но суть понятна.
        Ответить
        • Кстати, неправильно работает при container.x == 1.5, targetX = 2.0.
          Ответить
          • Ох, да, про дробный container.x я не подумал.
            Ответить
            • if (container.x <= targetX)
              {
                   container.x += ceil(targetX - container.x);
              }
              Ответить
    • Кк бгр
      Ответить

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