1. Список говнокодов пользователя wvxvw

    Всего: 202

  2. JavaScript / Говнокод #2445

    +168.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    function IsNumeric(sText)
    {
       var ValidChars = "0123456789.";
       var IsNumber=true;
       var Char;
    
     
       for (i = 0; i < sText.length && IsNumber == true; i++) 
          { 
              Char = sText.charAt(i); 
              if (ValidChars.indexOf(Char) == -1) 
             {
                IsNumber = false;
             }
          }
       return IsNumber;
     }

    Только что нашел на нашем сайте. Просто слов нет...
    А это из выдержка ис его послужного списка:

    Current
    R&D Team Leader at Dynamic Video
    Past
    R&D Software Architect at FIS
    Senior software engineer at Berale Software Solutions LTD

    wvxvw, 19 Января 2010

    Комментарии (11)
  3. ActionScript / Говнокод #2386

    −190.8

    1. 1
    2. 2
    3. 3
    4. 4
    if (flash.net.getClassByAlias("foo.bar.VO") == null){
              flash.net.registerClassAlias("foo.bar.VO", foo.bar.VO);}
          } catch (e:Error) {
              flash.net.registerClassAlias("foo.bar.VO", foo.bar.VO); }

    Так во флексовом фреймворке регистрируются алиасы для RPC классов... Нелогичность ситуации не сразу очевидна, поэтому опишу:
    При загрузке модулей может возникнуть ситуация, когда алиас уже зарегистрирован для другого класса, поэтому нужно проверить, а не был ли алиас зарегистрирован раньше. Иначе, его нужно зарегистрировать. Исторически, этой проверки сначала не было, данный код - это фикс вышеописаной проблемы. Пытаясь разобраться, что же все-таки случилось - скорее всего "писатель" не подозревал, что getClassByAlias() не может вернуть null - а выяснил он это, когда код вывалился с ошибкой, вот он не долго думая завернул это все в try-catch...
    Из мелких деталей: в рамках AS3 сравнение сложных типов с null - бессмысленная, и более того вредная операция, т.как выражение в условии всегда кастуется к Boolean, и компилятор не умеет делать оптимизации для таких случаев.

    wvxvw, 08 Января 2010

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