1. PHP / Говнокод #2085

    +151.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    while($record = $sql->GetResultAssoc())
    {
    echo $tpl['main_table_item']->FillTemplate(array("%counter" => $counter, "%fio" => $record['fio'], "%phone" => $record['phone'], "%status" => statusToStr($record['status'])));
    $counter++;
    }

    самопальное шаблонное двигло. выводит данные из базы в табличном виде.

    nolka4, 02 Ноября 2009

    Комментарии (2)
  2. PHP / Говнокод #2084

    +160.5

    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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    echo "Ваша корзина:";
    foreach ($_REQUEST as $name => $value)
    switch ($value)
    {
    case "ras1":
    echo "<p> $name";
    break;
    case "ras2":
    echo "<p> $name";
    break;
    case "ras3":
    echo "<p> $name";
    break;
    case "ras4":
    echo "<p> $name";
    break;
    case "ras5":
    echo "<p> $name";
    break;
    case "ras6":
    echo "<p> $name";
    break;
    case "ras7":
    echo "<p> $name";
    break;
    case "ras8":
    echo "<p> $name";
    break;
    }
    $filename= 'zakaz.txt';
    $somecontent = "$name\n";
    
    if (is_writable($filename)) {
    fwrite().
    if (!$handle = fopen($filename, 'w')) {
    echo "Не могу открыть файл ($filename)";
    exit;
    }
    if (fwrite($handle, $somecontent) === FALSE) {
    
    exit;
    }
    fclose($handle);
    
    }

    чувак спросил на форуме, почему его скрипт все время выводит строку 'vc' вместо страницы. Потом привел аццкий код :)

    varan, 01 Ноября 2009

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

    +164.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?php 
    // ...
    $content = join('',file("".$main_server."site/".$links_path.""));
     if (strlen($content) >= 20000)$content = 'Ошибка!';
    echo $content;
    ?>

    Самая убойная проверка на ошибки, которую я только видел. Из предыстории, есть один один супер проект, который раздает данные какого-либо рода.
    Данные выхватываются с неге по http, что мы собственно и видим, и выводятся.
    Основной проект написан так, что если друг URL не верен, то выдает var_dump отладочной информации. В связи с этим автор этого кода выдал афигенную проверку на ошибки.
    Достойно индусов :D
    про загрузку я вообще молчу, это же просто изврат ( в общем, решение жутко плохое, но на половине клиентов оно крутится до сих пор, и исправлять это никто не собирается :(

    nicolay-punin, 01 Ноября 2009

    Комментарии (4)
  4. Си / Говнокод #2082

    +151.8

    1. 1
    2. 2
    return DSQR(a.r) + DSQR(a.i);
    return fabs(a.r) + fabs(a.i);

    Пример говроретурна одной из моих функций в дипломном проекте на Си. Я собрал несколько вариантов программы, комментируя в различных местах различные return такого вида, как сейчас представлено выше.

    DSQR() -- это макрос возведения в квадрат из numericalrecepies. Там вся программа на основе "рецептного" кода.

    interested, 01 Ноября 2009

    Комментарии (23)
  5. Ruby / Говнокод #2081

    −129.2

    1. 1
    2. 2
    3. 3
    def true_or_nil bool
      !!bool || nil
    end

    eveel, 01 Ноября 2009

    Комментарии (2)
  6. bash / Говнокод #2080

    −370.1

    1. 1
    id |sed "s/^[^(]*(\([^)]*\)).*/\1/"

    Воссоздал прямо щас, не ручаюсь, что выражение в точности такое, но очень близко.

    nil, 01 Ноября 2009

    Комментарии (22)
  7. Pascal / Говнокод #2079

    +99.9

    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
    procedure TConsFrame.FillConsGrid(ConsHistory: TConsumptionHistory;
      Date: TDateTime);
    var
      I: Integer;
    begin
      for I := 0 to ConsHistory.Count - 1 do
      begin
        if not (TConsumptionRecord(ConsHistory[I]).State = osDeleted) then
          if DateOf(TConsumptionRecord(ConsHistory[I]).Date) = DateOf(Date) then
            if ((not FIsSelTime) or
               (FIsSelTime and (FSelTime = FormatDateTime('HH:mm', TConsumptionRecord(ConsHistory[I]).Date)))) then
              if ((not FIsSelName) or  (FIsSelName and (pos(FSelName, TProduct.TGlobalCollection.Products.RecursiveGetNodeByID(TConsumptionRecord(ConsHistory[I]).IDProduct)).Name) > 0))) then
                ConsGrid.AddChild(nil, ConsHistory[I]);
      end;
    end;

    Чтобы это безобразие написать пришлось студию на два монитора раздвинуть =)))
    И то ладно еще что на 4 проверки разбил - а то в одной вообще страшно было. Потом как оказалось у меня в цикле идет вызов рекурсивной процедуры, короче все виснет. Так что это безобразие в контексте моей программы оказалось еще и бесолезным %)

    Washington, 31 Октября 2009

    Комментарии (0)
  8. SQL / Говнокод #2078

    −867.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    SQL> select c.DATA_TYPE
      2  from all_tab_columns c
      3  where c.TABLE_NAME='FND_FORM_CUSTOM_ACTIONS'
      4  and c.COLUMN_NAME='PROPERTY_NAME'
      5  /
     
    DATA_TYPE
    --------------------------------------------------------------------------------
    NUMBER
     
    SQL>

    Неожиданно, неправда ли ?

    табличка из OEBS Release 12

    nxx, 31 Октября 2009

    Комментарии (0)
  9. C# / Говнокод #2077

    +135.9

    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
    StiReport report = // создание отчета  StimulSoft Reporter          
     // . . . . .
     
    // . . . . . 
                string tempfilename = System.Guid.NewGuid().ToString() + ".tmp";
                report.ExportDocument(StiExportFormat.Word2007, tempfilename);    //позволяет конвертировать отчет только в поток 
    
                FileStream stream = new FileStream(tempfilename, FileMode.Open);
                byte[] reportFile = new byte[stream.Length];
                stream.Read(reportFile, 0, (int)stream.Length);
                stream.Close();
                File.Delete(tempfilename);
    
                if (reportFile.Length > 0)
                    if (MessageBox.Show("Зберегти друковану форму?", "Запит", MessageBoxButtons.OKCancel) == DialogResult.OK)
                         WriteToDB(reportFile, "Документ.docx");

    sven47, 31 Октября 2009

    Комментарии (2)
  10. Куча / Говнокод #2076

    +65.2

    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 kub1
    parameters kod
    dimension a(16),b(16)
    for i=16 to 1 step -1
    a(i)=mod(kod,10)
    kod=kod/10
    kod=int(kod)
    endfor
    for i=1 to 16 step 1
    if a(i)=0
    else
    n=i
    exit
    endif
    endfor
    for i=n to 16 step 1
    b(i-(n-1))=a(i)
    endfor
    k=b(5)
    return k

    В принципе, пример относится к FoxPro, но так как я не обнаружил его в списке доступных языков при добавлении говнокода, пришлось остановиться на "куче" :) Наткнулся на этот фрагмент недавно при исследовании чужого исходника под Visual Foxpro. Привожу его в первозданном (с учетом форматирования) виде. Весь фрагмент можно было бы заменить на какое-нибудь

    FUNCTION kub1
    PARAMETERS kod
    RETURN SUBSTR(ALLT(STR(kod)),5,1)

    но автор, видимо, счел нужным не упрощать себе жизнь :)

    ps. Кстати, а как тут в описании код культурно отформатировать ? А то у меня тоже всё влево съехало :)

    tvolf, 30 Октября 2009

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