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

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if(!$price){
        $price = 'ФОЛСУ РАВЕН';
    }
    ...
    {
    ...
        $_SESSION['BASKET']['ITEMS'][$id]['PRICE'] = $price['PRICE'];
    }

    egych, 04 Мая 2011

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

    +160

    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
    class CIBlockFindTools
    
    ...
    
    function GetSectionID($section_id, $section_code, $arFilter)
    {
    	$section_id = intval($section_id);
    	if($section_id > 0)
    	{
    		return $section_id;
    	} else if(){
                  }
                 return 0;
    ...
    }

    битрикс суров, использует свою реализацию intval(). как мы могли без этого жить?

    hunterman, 29 Апреля 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function nyak_nyak(el) {
        if (confirm("Вы уверены в своих действиях?")) {
            document.location = el.href;
    	}
        return false;
    }

    http://2ch.so/wakaba.js
    Вызывается из ссылки onclick="nyak_nyak(this)".

    7ion, 28 Апреля 2011

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    if(n==0) m[n][i][j][k+1]=1.5;
    if(n==1) m[n][i][j][k+1]=1.0;
    if(n==2) m[n][i][j][k+1]=0.0;
    if(n==3) m[n][i][j][k+1]=0.4;

    долго не мог заметить

    ragim, 23 Апреля 2011

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

    +115

    1. 1
    2. 2
    If Val = true then Proc(True)
     Else Proc(False);

    Just simple coprocode.

    Govnocoder#0xFF, 20 Апреля 2011

    Комментарии (12)
  7. Assembler / Говнокод #6404

    +225

    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
    .386
    .model flat,stdcall
     option  casemap:none
          include   c:\masm32\includes\windows.inc
          include   c:\masm32\includes\user32.inc
          include   c:\masm32\includes\kernel32.inc
          includelib c:\masm32\lib\user32.lib
          includelib c:\masm32\lib\kernel32.lib
     bufsize EQU 12
    .data
      a dd 300
      b dd 500
      d dd 300
      fmt db "Max = %2d",0
      buf db bufsize dup(0)
      ctrlf db 0dh,0ah
      stdout dd ?
      cWritten dd ?
      result dd ?
    .code
     start:
      invoke GetStdHandle,STD_OUTPUT_HANDLE
      mov stdout,eax
       mov eax,a            
       mov result,eax  ; изначально максимальный это a
       cmp eax,b       ; сравниваем со вторым числом
       jbe big1        ; если a<=b , значит b больше a
       ja min1         ; иначе a ещё максимальное
      big1:
        mov eax,b           
    	mov result,eax  ;теперь b максимальное
        cmp eax,d 
    	jbe big2   ; максимальное c 
    	jmp print
    	big2: 
    	  mov eax,d 
    	  mov result,eax ;максимальный c
    	  jmp print
      min1:
        mov eax,d
    	cmp eax,a
    	jbe big3
    	mov result,eax
    	jmp print
    	big3:
    	  mov eax,a
    	  mov result,eax
    	  jmp print
       print:
        mov edx,result
        invoke wsprintf, ADDR buf, ADDR fmt, edx
        invoke WriteConsoleA, stdout, ADDR buf, bufsize, ADDR cWritten, NULL
        invoke WriteConsoleA, stdout, ADDR ctrlf, 2, ADDR cWritten, NULL
     end start

    С ума сойти. И это сравнение трёх чисел, которое делается в два простейших условия...

    Ymilij, 19 Апреля 2011

    Комментарии (12)
  8. PHP / Говнокод #6376

    +158

    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
    case 'mass':
    $href = '<br><a href="' . $_SERVER['PHP_SELF'] . '?act=mass">Назад</a>';
    if ($_GET['step']) {
    if (($_POST['step']) && ($_POST['link'])) die ('Пожалуйста, введите только что-то одно - кол-во или ссылку'.$href);
    if ((!$_POST['step']) && (!$_POST['link']) && ($_GET['step'] == 1)) {
    if ($_POST['code']) regnloc();
    die ('Пожалуйста, введите что-нибудь - кол-во или ссылку'.$href);}
    if ($_POST['step']) $mode = 'steps';
    if ($_POST['link']) $mode = 'link';
    if ($_GET['mode']) $mode = $_GET['mode'];
    if (!$mode) die ('Привет юным хакерам!'.$href);
    check_value($_GET['step']);
    $step = $_GET['step'];
    if ($mode == 'steps') {
    if ($_POST['step']) {
    check_value($_POST['step']);
    $end = $_POST['step']; } 
    else {
    check_value($_GET['end']);
    $end = $_GET['end'];}
    parse_str(reg()); 
    $get = "$login - $pass\n".$_POST['get']; }
    if ($mode == 'link') {
    if (is_url($_POST['link'])) {
    $strings = file($_POST['link']);
    $end = count($strings);
    check_value($end);
    $arrstep = $step - 1;
    if (strlen(trim($strings[$arrstep])) <= 15) { parse_str(reg(trim($strings[$arrstep])));
    $get = "$login - $pass\n".$_POST['get']; }
    else { $error = 1; $get = $_POST['get']; }}
    else { die ('Ссылка неверна или указывает не на .txt файл'.$href);} }
    $step++;
    if ($step <= $end) {
    if ($error) echo '<div style="color:red;">Предыдущая учетка не была зарегана - ник более 15-ти символов</div><br>';
    echo "Учетка $step из $end<br>";
    view_form("?act=mass&mode=$mode&step=$step&end=$end"); }
    else { 
    echo '<b>Завершено!</b><br><a href="' . $_SERVER['PHP_SELF'] . '?act=mass">Повторить</a><br><br><form action="?act=file" method="post">Ваши учетки:<br><input type="submit" value="Скачать файлом">'; }
    echo '<br><textarea name="get" rows="10" cols="33">'.$get.'</textarea><input type="hidden" name="link" value="'.$_POST['link'].'"></form>';} 
    else {
    view_form("?act=mass&step=1");
    echo '<br><br><b>Опции массреги</b><br>Введите кол-во учеток: <input type="text" name="step" size="2" maxlength="2"><br>или ссылку на txt-файл с никами:<br><input type="text" name="link"><br><br><a href="' . $_SERVER['PHP_SELF'] . '">Обычная рега</a></form>'; }
    break;

    7ion. Начало.
    Написано примерно летом 2009 года.
    Помнится, я еще недоумевал - почему мой код называют страшным.

    7ion, 15 Апреля 2011

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

    −83

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public class XXX
    {
        private Object m_ForLock = new object();
        private String m_Path = "";
        public XXX(String Path)
        {
            lock (m_ForLock)
            {
                 m_Path = Path;
            }
         }
    }

    BlackMonolit, 15 Апреля 2011

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

    +143

    1. 1
    2. 2
    3. 3
    <div class="menu_bit" onclick="location.href="index.php?page=teachers"">
    	Преподаватели
    </div>

    Сайт университетской кафедры. Ну и ладно! я сделаю свой <a> с джаваскриптом и дивами.

    SevInf, 11 Апреля 2011

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

    +158

    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
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    #ifndef _header_hpp_included_
    #define _header_hpp_included_
     
    #include <iostream>
    #include <cstdio>
    #include <boost/bind.hpp>
    #include <boost/asio.hpp>
    #include <boost/thread.hpp>
    #include <boost/lexical_cast.hpp>
     
    enum { recv_buffer_size = 13 };
    enum { send_buffer_size = 13 };
     
    volatile size_t counter = 0;
     
    void client_readed(
       boost::asio::ip::tcp::socket&,
       char*,
       FILE*,
       const boost::system::error_code&
    );
     
    void client_read(
       boost::asio::ip::tcp::socket& sock,
       FILE* out
    ) {
       char* buf = new char[recv_buffer_size];
       boost::asio::async_read(
          sock,
          boost::asio::buffer(buf, recv_buffer_size),
          boost::bind(
             &client_readed,
             boost::ref(sock),
             buf,
             out,
             boost::asio::placeholders::error));}
     
    void client_readed(
       boost::asio::ip::tcp::socket& sock,
       char* buf,
       FILE* out,
       const boost::system::error_code& e) {
       if ( e ) {
          if ( !counter ) return;
          std::cout << "read handler: " << e.message() << std::endl;
          return;
       }
        fwrite(buf, recv_buffer_size, 1, out);
        counter--;
     
    #ifdef _my_debug_
       printf("client_readed(): %s", buf);
       fflush(stdout);
    #endif
     
       static size_t idx = 0;
       size_t tmp = 0;
       char* p = strchr(buf, ':');
       if ( p ) {
          p++;
          sscanf(p, "%8d", &tmp);
       } else
          throw std::runtime_error("input data error!");
       delete[] buf;
       if ( idx != tmp ) {
          std::ostringstream os;
          os << "read error. expected " << idx << " get " << tmp;
          throw std::runtime_error(os.str());
       }
       idx++;
       client_read(sock, out);
    }
     
    void writen(
       char*,
       FILE*,
       const boost::system::error_code&
    );
     
    void start_write(
       boost::asio::ip::tcp::socket& sock,
       char* buf,
       FILE* out) {
       counter++;
       boost::asio::async_write(
          sock,
          boost::asio::buffer(buf, send_buffer_size),
          boost::bind(
             &writen,
             buf,
             out,
             boost::asio::placeholders::error) 
        ); 
    }

    qbasic, 08 Апреля 2011

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