1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #13607

    +138

    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
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    <?php
    header("Content-Type: text/javascript;charset=utf-8");
     
    $html='';
    #$fp = fopen('counter.txt', 'w+');
     
    if (isset($_GET)) {
        $type=$_REQUEST['type'];
     
     
        if (isset ($_REQUEST['callback'])){
            $html.=$_REQUEST['callback']."(";
        }
     
        $fils=array('ukqs','uk','regions', 'org', 'citiesarhobl', 'cities', 'omsu', 'iogv','fund_uk','standart');
     
        if (isset($_GET['cfund_uk'])) {
            $fund_file='jbase/cities_'.$_GET['cfund_uk'].'.js';
            if (file_exists($fund_file))
                $html.=file_get_contents($fund_file);
            else
                $html.='error:'.$fund_file;
        }
        else
            if (isset($_GET['rfund_uk'])) {
                $fund_file='jbase/'.$_GET['rfund_uk'].'_regions.js';
                if (file_exists($fund_file))
                    $html.=file_get_contents($fund_file);
                else
                    $html.='error';
            }
        if (isset($_REQUEST['uks'])&&($type=='cities')) {
            $fund_file='jbase2/'.$_GET['uks'].'_cities.js';
            if (file_exists($fund_file))
                $html.=file_get_contents($fund_file);
            else
                $html.='error:'.$fund_file;
        }
        else
            if (isset($_REQUEST['uks'])&&($type=='regions')) {
                $fund_file='jbase2/'.$_GET['uks'].'_regions.js';
                if (file_exists($fund_file))
                    $html.=file_get_contents($fund_file);
                else
                    $html.='error';
            }
        else
            if ($type=='standart') {
                $fund_file='standart.js';
                if (file_exists($fund_file))
                    $html.=file_get_contents($fund_file);
                else
                    $html.='error';
            }
        else
        foreach ($fils as $ty)
            if ($ty==$type)
                $html.=file_get_contents($type.".js");    
        if (isset ($_REQUEST['callback']))
        {
            $html.=")";
        }
        #$date=date("F j, Y, g:i a");
       #$test = fwrite($fp, $date."#####\n\r ".$html);
     
        print $html;
        #fclose($fp);
    }
    ?>

    этот файл отдаёт json ajax ответ, подгружая его из *.js файла

    tariel, 14 Августа 2013

    Комментарии (5)
  3. Куча / Говнокод #13567

    +138

    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
    Шаблон 
    
    (\$*(\d*(\.+\d+)?){1})
    
    Шаблон замены
    
    **$&
    
    Вход
    
    $1.30
    
    Выход
    
    **$1.30**
    
    А теперь вопрос знатокам: Каким жестоким человеком нужно быть, что бы засунуть в пример регулярку, которая может соответствовать 0(?!) символов?

    Все та же статья MSDN
    http://msdn.microsoft.com/ru-ru/library/az24scfc.aspx

    kegdan, 08 Августа 2013

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

    +138

    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
    uint32_t multiply (uint16_t a, uint16_t b)
    {
      return ((a &  ( (int16_t)( ( b & (1 << 0) ) << 15 ) ) / ( 1 << 15) ) << 0 ) +
             ((a &  ( (int16_t)( ( b & (1 << 1) ) << 14 ) ) / ( 1 << 15) ) << 1 ) +
             ((a &  ( (int16_t)( ( b & (1 << 2) ) << 13 ) ) / ( 1 << 15) ) << 2 ) +
             ((a &  ( (int16_t)( ( b & (1 << 3) ) << 12 ) ) / ( 1 << 15) ) << 3 ) +
             ((a &  ( (int16_t)( ( b & (1 << 4) ) << 11 ) ) / ( 1 << 15) ) << 4 ) +
             ((a &  ( (int16_t)( ( b & (1 << 5) ) << 10 ) ) / ( 1 << 15) ) << 5 ) +
             ((a &  ( (int16_t)( ( b & (1 << 6) ) << 9  ) ) / ( 1 << 15) ) << 6 ) +
             ((a &  ( (int16_t)( ( b & (1 << 7) ) << 8  ) ) / ( 1 << 15) ) << 7 ) +
             ((a &  ( (int16_t)( ( b & (1 << 8) ) << 7  ) ) / ( 1 << 15) ) << 8 ) +
             ((a &  ( (int16_t)( ( b & (1 << 9) ) << 6  ) ) / ( 1 << 15) ) << 9 ) +
             ((a &  ( (int16_t)( ( b & (1 <<10) ) << 5  ) ) / ( 1 << 15) ) << 10) +
             ((a &  ( (int16_t)( ( b & (1 <<11) ) << 4  ) ) / ( 1 << 15) ) << 11) +
             ((a &  ( (int16_t)( ( b & (1 <<12) ) << 3  ) ) / ( 1 << 15) ) << 12) +
             ((a &  ( (int16_t)( ( b & (1 <<13) ) << 2  ) ) / ( 1 << 15) ) << 13) +
             ((a &  ( (int16_t)( ( b & (1 <<14) ) << 1  ) ) / ( 1 << 15) ) << 14) +
             ((a &  ( (int16_t)( ( b & (1 <<15) ) << 0  ) ) / ( 1 << 15) ) << 15);
    }

    Умножение двух чисел через битовые маски и сдвиги без условных переходов. Компилятор переведет деление инта на сдвинутую единчку в арифметический сдвиг
    Использование ">>" применительно к signed типам - implementation defined http://stackoverflow.com/questions/4009885/arithmetic-bit-shift-on-a-signed-integer/4009922

    j123123, 18 Июля 2013

    Комментарии (18)
  5. JavaScript / Говнокод #13381

    +138

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Дорогой участник! Не спеши покидать страницу. Я прошу тебя помочь:
    не поленись, пройдись по всем постам, и поставь каждому участнику по минусу;
    минусуя других участников ты воспитываешь в себе чувство меры и помогаешь обществу снижать ЧСВ. 
    Заранее спасибо, друг мой. Ты будешь вознагражден за это деяние!
    
    Тот, кто покинул страницу, но не выполнил моей просьбы, умрет через 9 дней.

    Дорогой участник! Не спеши покидать страницу. Я прошу тебя помочь:
    не поленись, пройдись по всем постам, и поставь каждому участнику по минусу;
    минусуя других участников ты воспитываешь в себе чувство меры и помогаешь обществу снижать ЧСВ.
    Заранее спасибо, друг мой. Ты будешь вознагражден за это деяние!


    Тот, кто покинул страницу, но не выполнил моей просьбы, умрет через 9 дней.

    Stertor, 11 Июля 2013

    Комментарии (0)
  6. Java / Говнокод #13348

    +138

    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
    if (newGame) resources.free();
    s = FILENAME + 3;
    setLocation(); load(s);
    loadDialog.process();
    
    try { setGamerColor(RED); }
    catch(Exception e) { reset(); }
    while (notReady) { objects.make();
    if (resourceNotFound) break; }
    
    byte result; // сменить на int!
    music();
    System.out.print("");

    Читать с выражением!

    tirinox, 09 Июля 2013

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

    +138

    1. 1
    2. 2
    Участник, прошу тебя: не поленись, пройди по анкетам и поставь всем минусы.
    Минуисуя участников, ты помогаешш обществу снижать ЧСВ.

    Участник, прошу тебя: не поленись, пройди по анкетам и поставь всем минусы.
    Минуисуя участников, ты помогаешш обществу снижать ЧСВ.

    Stertor, 09 Июля 2013

    Комментарии (10)
  8. Pascal / Говнокод #13306

    +138

    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
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    В этой статье я расскажу как сделать дополнительный поток в программе.
    
    Приступим.
    
    1. Создаём форму
    2. Кидаем на форму кнопку со вкладки Standart
    3. Кидаем на форму Memo со вкладки Standart
    
    Переходим в код и после
    
    private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    Пишем следующие:
     
    TVANSThread=class(TThread) 
      Private
        Protected
          Procedure Execute; override;
      Public
        Constructor Create(CreateSuspended: boolean);
      end;
    
    
    Далее кликаем по строчке Constructor Create(CreateSuspended: boolean); и жмём сочентание клавиш Ctrl+Shift+C
    
    После чего должно появится следующие:
    
    
    constructor TVANSThread.Create(CreateSuspended: boolean);
    begin
    
    end;
    
    В эту процедуру вписываем следующею строчку:
    
    inherited Create(CreateSuspended);
    
    Прокрутим чуть ниже и увидим процедуру TVANSThread.Execute;
    Она выглядит так:
    
    procedure TVANSThread.Execute;
    begin
    
    end;
    
    В неё вписываем следующий код:
    
    for i:=0 to 10000 do Form1.Memo1.Lines.Add(IntToStr(i))
    
    И не забываем о переменных:
    
    var i:integer;
    
    Далее кликаем по кнопке и вписываем следующий код:
    
    TVANSThread.Create(false);

    Анальный урок.
    Автор - анальный учитель с сайта www.vans-soft.ru/

    Stertor, 04 Июля 2013

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

    +138

    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
    // Преобразует BCD формат в число
    private static int BCDToInt(byte bIn)
    {
        return ((((bIn / 0x10) * 10) + bIn) - ((bIn / 0x10) * 0x10));
    }
    
    // Преобразует число в BCD формат
    private static byte IntToBCD(int value)
    {
        value -= (value / 100) * 100;
        byte bTH = (byte)(value / 10);
        byte bTL = (byte)(value - (bTH * 10));
        return (byte)(bTL + ((byte)(bTH << 4)));
    }

    навеяло сложными запутывающими большими и маленькими индейцами для элитных программистов

    референс-код от партнеров для конверсии binary-coded decimal вперёд и взад
    чтобы как бы верно срослось между ихним с# и нашим сраным с++

    defecate-plusplus, 29 Мая 2013

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

    +138

    1. 1
    http://blog.lab49.com/archives/3011

    Наткнулся на совершенно гениальную статью про алгебраические типы данных. Из которой вы узнаете, что алгебраические типы данных потому и называются алгебраическими, что их можно складывать, перемножать, возводить в степень и даже брать производную, причём эта магия доступна всем простым смертным, и самое интересное — в этом есть практический смысл.
    Требуемые знания матана — примерно на уровне десятого класса средней школы.
    Enjoy.

    neeedle, 29 Апреля 2013

    Комментарии (22)
  11. C# / Говнокод #12930

    +138

    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
    public bool ParsеOboznString(string obozn)
            {
                Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");  // Установка русской культуры
    
                try
                {
                    Regex reg = new Regex(@"(\D*)(\d*)([^\+]*)[\+]?(\d+[,]\d+)*");    // регулярное выражение
                    Match m = reg.Match(obozn);                                                            // разбор строки обозначения
                    ....
                    ....
                    ....
                }
                catch
                {
                    return false;
                }
    
                return true;
            }

    "культурный" код и "содержательные" комментарии

    diimdeep , 22 Апреля 2013

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