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

    Всего: 2

  2. Pascal / Говнокод #4965

    +113

    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
    18. 18
    19. 19
    20. 20
    function FUNC(XD: TXMLDocument; L: ShortString): IXMLNode;
    var
      c: integer;
      ln: IXMLNode;
      s: ShortString;
    begin
      c:=0;
      while c <> XD.DocumentElement.ChildNodes.Count-1 do
      begin
        if VarToStr(XD.DocumentElement.ChildNodes[c].Attributes['id']) = L then
        begin
          ln:=XD.DocumentElement.ChildNodes[c];
          c:=XD.DocumentElement.ChildNodes.Count-1
        end else
        begin
          c:=c+1; {DEBUG(VarToStr(XD.DocumentElement.ChildNodes[c].Attributes['id'],L) } 
        end
      end;
      result:=ln
    end;

    К слову о невнимательности и "непримеченных слонах". Итак задачка: перебором найти в наборе данных нужную строку и вернуть в итоговый результате элемент набора данных. Используем код (выше). По невнимательности своей я допустил в алгоритме ошибку и функция работала несколько некорректно. Перед Вами её изначальный вариант, до исправления. Если вкратце, то баг заключался в том, что функция не читала последний элемент XML-документа. Называется, нефиг было мудрить с алгоритмом. По сути там надо убрать из двух мест "-1". Но пока я докапывался до сути ошибки, я написал тестовую функцию, сравнивающую две строки и выводящую результат сравнения в окно сообщения. Назовём её DEBUG. И... Началось непонятное. Функция выдавала сообщение, значит результаты, как видно по алгоритму, не равны, но она выдавала РАВЕНСТВО! Мозг взрывается, ломаются представления о математике и рациональности вообще!

    Xander_Bass, 18 Декабря 2010

    Комментарии (24)
  3. PHP / Говнокод #4963

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $src = fopen("0.txt", 'r');
    while(!feof($src))
    {
            $line[] = fgets($src);
            $line++;
    }

    Интересно чему в конце будет равно $line? :)

    Xander_Bass, 17 Декабря 2010

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