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

    −122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    while(ba.bytesAvailable)
    {
    	try
    	{
    		var b:String = ba.readUTFBytes(1);
    		bas[bas.length - 1] += b;
    	}
    	catch(e:Error)
    	{
    		bas.push("");
    	}
    }

    Это тот же человек, который до этого XML из строк сам строил. Теперь ему нужно было прочитать несколько строк из потока, разделенныхе нуль-байтами.

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

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

    • А это вообще компилируется?
      Ответить
      • Да, с точки зрения компилятора тут никаких преступлений нет. Проблема в том, что на самом деле цикл не нужен, а try-catch и подавно (мало того, что не нужен, так еще и вреден, потому что readUTFBytes принимает длину в байтах, а не в символах, которые надо прочитать), но это уже мелочи... там где-то до этого все строки переводятся в %XXXX там где юникоды встречаются (чтобы в этом месте не обламаться), но это уже отдельный говнокод :)
        Ответить
        • >>readUTFBytes принимает длину в байтах,
          это какой-то жесткий цинизм))) букву же посередине разорвет
          Ответить

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