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

    −116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var muNumb:Number = 0;
    for (var myAttribute in _root.levelsTexts[_root.gameWeek].childNodes[_root.weekDay].childNodes[0].attributes) {
    	if (myAttribute.substr(0, 7) == "product") {
    		myArr[muNumb] = _root.levelsTexts[_root.gameWeek][_root.weekDay].childNodes[0].attributes[myAttribute]);
    		//<...> 
    		muNumb = muNumb + 1;
    	}
    }

    Просто песня.

    Запостил: robin, 16 Сентября 2011

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

    • Ксинта какая-то
      Ответить
    • А XPath до ActionScript разве уже добрался?
      Ответить
      • Тут больше проблема не в том, что не используется XPath (в третем есть E4X, который бы позволил это записать гораздо компактнее), а в том, что человек решил по ходу дела посчитать длину массива, и даже создал для этого переменную особую... Ну и AS компиляторы никогда не были оптимизирующими, т.е, компилятор бы не заметил, что в четвертой строчке мы вобщем-то хотели обратится к объекту, который уже либо в регистре либо в локальной переменной существует, а прямо так и напсиал, динамический поиск свойства у свойства у свойства...
        Ответить
        • Человек решил собрать атрибуты в массив итерируя по --- полям - это же элементарно :) Другое дело - почему в сей кусок парсера попала вся сктруктура данных вместо интересуемой части - это мы не узнаем..
          Ответить
    • показать все, что скрытоvanished
      Ответить

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