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

    −116

    1. 1
    2. 2
    3. 3
    _itemList.splice(0, uint.MAX_VALUE);
    _amuletList.splice(0, uint.MAX_VALUE);
    _timeArtefactList.splice(0, uint.MAX_VALUE);

    Запостил: crazy_horse, 15 Апреля 2013

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

    • Это полные строки, не обрезки. Таким образом люди делали array =[];
      Ответить
      • Меня больше умиляет uint.MAX_VALUE, кстати. Можно было 0 написать хотя бы.
        Хотя понятно, что = [] надо было писать, да.
        Ответить
    • Массивов такой длины не бывает Arra.length возвращает int...
      Но иногда имеет смысл не заменять массив - если он где-то еще используется. Но в таком случае _itemList.length = 0 было бы лучше.
      Ответить
      • _itemList.length = 0 это не лучше, это просто быстрее. Тем и лучше. Есть миллион способов не дропать массив в gc, но тот, что был использован - самый дурацкий, что можно придумать. Тем более, в контексте кода было сделано не для той причины, поверьте. Тем более uint... Бог мой, человек по всему коду его натыкал, даже не попытавшись прикинуть, сколько будут стоить приведения типов там, где мог бы использоваться int. Это в ядре игрушки.
        Ответить
      • И борьбы с new там тоже не было. Быдлооптимизация.
        Ответить
        • Тут как бы оптимизировать ничего не получилось... splice же возвращает массив (даже если массив, который вернули нигде не используется, он все равно создасться). Т.е. этот код примерно эквивалентен:
          1. создать новый массив такого же размера как исходный.
          2. скопировать содержание из исходного массива в новый.
          3. удалить все содержание из исходного.
          4. удалить новый массив.
          Ответить
          • В слове быдлооптимизация ключевое слово - быдло.
            Ответить

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