1. Куча / Говнокод #3819

    −3

    1. 1
    2. 2
    //Эта функция потенциальный источник багов. Я гарантирую это.
    и дли-и-инная функция с кучей неясностей и без единого комента 0_0

    Встретил в проекте
    Похоже вместо того чтобы нормально коментировать код писавший это читал лурк...

    Запостил: 3.14159265, 29 Июля 2010

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

    0

    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
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    <?php
    $TITLE = preg_replace("/^[\s\d]+/", "", @$TITLE? $TITLE : @$_REQUEST["TITLE"]);
    $USE_HEAD = @$USE_HEAD? $USE_HEAD : @$_REQUEST["USE_HEAD"];
    $ISMAIN = @$ISMAIN? $ISMAIN : @$_REQUEST["ISMAIN"];
    ?>
    <html>
    <head>
      <title><?=strip_tags($TITLE)?></title>
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
      <style type="text/css">
      <!--
        html, body { padding: 0px; margin: 0px; }
        .menu { padding: 4px 10px 4px 10px; border-bottom: 3px double #999999; background: #FFFFFF; font-size: 85%; font-weight: bold; }
        p { text-align: justify }
        h1 { font-size: 150%; }
        h2 { font-size: 130%; }
      -->
      </style>
    </head>
    
    <body bgcolor="white" text="#000000" link="#00639C" alink="#ffaa00" vlink="#00437C">
    
    <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
    <tr valign="top">
      <td bgcolor="#DEDFDE" width="80%" style="border-right: 1px outset">
        <?if ($USE_HEAD) {?>
          <table class="menu" width="100%" cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td>
              <a href="http://localhost">localhost</a>
              |
              <a href=http://localhost/Tools/>Утилиты</a>
              |
              <a href=http://localhost/Docs/>Документация</a>
              |
              <a href=http://localhost/Test/>Тестирование</a>
            </td>
            <td align="right">
              <a href="http://www.denwer.ru">Сайт Денвера</a>
              |
              <a href="http://faq.dklab.ru/denwer/">FAQ</a>
              |
              <a href="http://www.denwer.ru/dis/">Дистрибутивы</a>
              |
              <a href="http://forum.dklab.ru/denwer/">Пишите нам!</a>
            </td>
          </tr>
          </table>
        <?}?>
        <div style="width=100%; padding: 0px 10px 4px 10px">
          <?if (@$ISMAIN) {?>
            <a href="http://www.denwer.ru"><script>
                function setCookie(name, value, path, expires, domain, secure) {
                  var curCookie = name + "=" + escape(value) +
                    ((expires) ? "; expires=" + expires.toGMTString() : "") +
                    ((path) ? "; path=" + path : "; path=/") +
                    ((domain) ? "; domain=" + domain : "") +
                    ((secure) ? "; secure" : "");
                  document.cookie = curCookie;
                }
                function getCookie(name) {
                  var prefix = name + "=";
                  var cookieStartIndex = document.cookie.indexOf(prefix);
                  if(cookieStartIndex == -1) return null;
                  var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
                  if(cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
                  return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
                }
                var c = (getCookie('vc') || 0);
                setCookie('vc', parseInt(c) + 1, '/', new Date(new Date().getTime()+1000*3600*24*365*4));
                document.write('<img width="73" height="94" style="float:right; margin:10px 0px 0px 10px" border=0 src="http://www.denwer.ru/logo.gif?' + c + '" />');
            </script></a>
          <?}?>
          <h1 style="margin-top: 0.2em"><?=$TITLE?></h1>

    котеров камлает донат.

    возникла проблемка с похапэ. было мне слово, что в denwer всё работает. зато словил лулзов.

    Запостил: bugmenot, 29 Июля 2010

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

    +3

    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
    count=15;
    a=15;
    b=2.5;
    ...
    function addlistbox()
    	i=1;
    	while i<=count do
    		INIFile.SetValue("temp.ini", "temp", i, a);
    		end
    i=1;
    while i<=count do
    ttt=INIFile.GetValue("temp.ini", "temp", i);
    INIFile.SetValue("temp.ini", "temp", i, Math.Pow(ttt, b*i));
    end
    i=1;
    while i<=count do
    	ttt=INIFile.GetValue("temp.ini", "temp", i);
    	ListBox.AddItem("stepeni", i, ttt); 
    	end
    end

    Приятель прислал.
    всю эту прелесть можно написать так:
    function addlistbox(a,b,count)
    for i=1,count do
    ListBox.AddItem("stepeni", i, Math.Pow(a, b*i));
    end
    end

    Запостил: XyHb, 25 Июля 2010

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function Wait-ProcessStart{
    param([string]$PName)
    $pname = $PName
    $started = $false
    $countONstart = if((Get-Process|Where{$_.Name -eq $pname}).Length -eq $null){if((Get-Process|Where{$_.Name -eq $pname}).Name -eq $null){0}else{1}}else{(Get-Process|Where{$_.Name -eq $pname}).Length}
    while($started -eq $false){
    $ccount = if((Get-Process|Where{$_.Name -eq $pname}).Length -eq $null){if((Get-Process|Where{$_.Name -eq $pname}).Name -eq $null){0}else{1}}else{(Get-Process|Where{$_.Name -eq $pname}).Length}
    if($ccount -le $countONstart){$countONstart = $ccount;continue}
    if($ccount -gt $countONstart){$started = $true}
    }
    }

    Это мой высер вместо WMI-событий.
    Ждем запуска процесса с определенным именем.

    Запостил: x0wl, 23 Июля 2010

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

    −4

    1. 1
    Warning: file_get_contents(http://www.bbc.co.uk/radio1/programmes/schedules.xml) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/atomzone/public_html/beta/at0m.rss.class.php on line 65

    Случайно найдено на: http://atomzone.co.uk/beta/audio/Blue%20Sky%20Black%20Death
    Я все понимаю, бета и все такое, но это же паблик бета...

    Запостил: wvxvw, 23 Июля 2010

    Комментарии (14)
  6. Куча / Говнокод #3761

    +2

    1. 1
    2. 2
    {{ object.xml_data.file.read|safe }}
    {% if object.xml_data.file.close %}{% endif %}

    Мой говнокод. Django template. Не хотелось писать отдельный view, забацал все в шаблоне + generic views. Лень страшная сила)
    object.xml_data обычный FileField

    Запостил: sbb, 22 Июля 2010

    Комментарии (0)
  7. Куча / Говнокод #3733

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    -- PL/SQL
    -- Нарыл в недрах софта, разрабатываемого нашей конторой. Автор, к сожалению, не известен.
    
    select decode(NVL(GetSystemSetting('EchangeRateTypes_for_Commission'),'1'),'1',1,'2',2) into aRatetype from dual;

    Запостил: Twister, 19 Июля 2010

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

    +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
    Author: decker <decker@personal-army>  2010-06-19 05:39:42
    Committer: decker <decker@personal-army>  2010-06-19 05:39:42
    
        fix potential race in reservation id generation
    
    @@ -97,7 +98,7 @@ public class VmInstances extends AbstractNamedRegistry<VmInstance> {
         do {
           MessageDigest digest = Hashes.Digest.MD5.get();
           digest.reset();
    -      digest.update( Long.toString( rsvId + launchIndex + System.currentTimeMillis() ).getBytes() );
    +      digest.update( Long.toString( rsvId + launchIndex + System.nanoTime( ) ).getBytes() );
     
           Adler32 hash = new Adler32();
           hash.reset();

    Вот так суровые калифорнийцы сурово чинят race...

    Запостил: raorn, 13 Июля 2010

    Комментарии (8)
  9. Куча / Говнокод #3694

    +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
    18. 18
    19. 19
    20. 20
    0 DIM P(4): DIM R(4)
    10 DATA 173, 48, 192, 136, 208, 5, 206, 1, 3, 240, 9, 202, 208, 245, 174, 0, 3, 76, 2, 3, 96,,0
    20 FOR X=770 TO 792
    30 READ Y
    40 POKE X, Y
    50 NEXT X
    60 DATA 192, 152, 144, 128, 114
    70 FOR I=0 TO 4
    80 READ P(I)
    90 NEXT I
    100 DATA 255, 128, 64, 64, 128
    FOR I=0 TO 4
    READ R(I)
    NEXT I
    FOR I=0 TO 4
    POKE 768, P(I)
    POKE 769, R(I)
    CALL 770
    NEXT I
    END

    Не совсем ГК, зато выглядит страшно. Шарманка для ПЭВМ «Агат-7». Вторая строка — машинные коды. Выглядит как обфуска. Вот листинг:

    .ORG 768
    L_768: .BYTE 0 ; НОТА
    L_769: .BYTE 0 ; ДЛИТЕЛЬНОСТЬ
    L_770: LDA $C030
    L_773: DEY
    BNE L_781
    DEC L_769
    BEQ L_790
    L_781: DEX
    BNE L_773
    LDX L_768
    JMP L_770
    L_790: RTS
    .BYTE $FF
    .BYTE 0

    Кстати, таблица команд процессора совместима с 6502, поэтому листинг похож на демонстрировавшийся в фильме «Терминатор».
    Строчки 7 и 11 — это массивы нот и длительностей соответственно.
    Самое страшное, что этот код мы набирали на уроке информатики в восьмом классе. Представляете, что может произойти, если ошибиться во второй строке? Хорошо, что у «Агатов» винчестеров не было...

    Запостил: inkanus-gray, 13 Июля 2010

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

    +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
    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
    for i in 14 15 27 29 38; do # make a sed string to replace special characters
        hexval=$(printf \\\\x%02x $i)
        sedstr=$sedstr"s/'$hexval/chr($i)||'/g;s/$hexval'/'||chr($i)/g;s/$hexval/'||chr($i)||'/g;"
    done
    
    cat <<EOF | sqlplus -S $DB_LOGIN | sed $sedstr | awk -v dbdir=db/data '{print > dbdir"/"$3".sql"}'
    $SPINIT
    BEGIN
      FOR i IN (SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE='TABLE' ORDER BY OBJECT_NAME) LOOP
        DECLARE
          all_cols VARCHAR2(32767) := '';
          TYPE data_cur_type IS REF CURSOR;
          data_cur data_cur_type;
          ins_str VARCHAR2(32767);
        BEGIN
          FOR j IN (SELECT DISTINCT(COLUMN_NAME) FROM USER_TAB_COLUMNS
                    WHERE TABLE_NAME=i.OBJECT_NAME AND
                    DATA_TYPE IN ('VARCHAR2', 'CHAR', 'NUMBER', 'DATE')
                    ORDER BY COLUMN_NAME) LOOP
            all_cols := all_cols || j.column_name || ',';
          END LOOP;
          IF all_cols is null THEN GOTO end_of_loop; END IF;
          all_cols := RTRIM(all_cols,',');
        
          OPEN data_cur FOR 'select ' ||
           '''INSERT INTO ' || i.object_name || ' (' || all_cols || ') VALUES (' || '''''''||' || replace(all_cols, ',', '||'''''',''''''||') || '||'''''');''' ||
           ' from ' || i.object_name || ' order by ' || all_cols;
          LOOP
            FETCH data_cur INTO ins_str;
            EXIT WHEN data_cur%NOTFOUND;
            dbms_output.put_line(ins_str);
          END LOOP;
          CLOSE data_cur;
        END;
    <<end_of_loop>> NULL;
      END LOOP;
    END;
    /
    EOF

    Проблеме экранирования посвящается.
    На стыке технологий: экспорт данных из БД в виде insert-ов. Там еще есть awk-шный код по разбору всего, что получилось, но он не такой ужасный.
    Автор я, если чо:)

    Запостил: nil, 13 Июля 2010

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