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

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

    +174.2

    1. 1
    require_once(substr(__FILE__, 0, strlen(__FILE__) - strlen("/start.php"))."/bx_root.php");

    Подключаем файл относительно текущей директории скрипта (start.php)
    © 1С-Битрикс, версия 8.x

    beono, 13 Апреля 2010

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

    +173.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function p_id($p_id)
    {
    	global $product_id;
    	
    	foreach($product_id as $k=>$v)if($p_id==$k)
    	{
    		$sel_r=$k;
    		$sel_t=$v;
    	}
    	return $sel_t;
    }

    Реальная функция и даже реально используется.
    Сотрудник, далекий от кодинга, иногда чтобы не отвлекать меня разные мелочи кодит сам... Ну там по образцам типа...
    Функцию эту кстати я трогать не стал исходя из золотого правила - "работает - не трогай!", так и используется и по сей день...

    larrygingras2, 09 Апреля 2010

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

    +143.6

    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
    <?php 
    try { 
        $mysqlhost = "localhost"; 
        $mysqluser = "root"; 
        $mysqlpass = ""; 
        if ($db = mysql_connect ($mysqlhost,$mysqluser,$mysqlpass)){ 
            echo "Successfully connected to the database."; 
            mysql_close ($db); 
        
        } else { 
            throw new exception ("Sorry, could not connect to mysql."); 
        } 
    } catch (exception $e) { 
    echo $e->getmessage (); 
    } 
    ?>

    как не надо подключаться к mysql

    sergylens, 08 Апреля 2010

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

    +159.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
    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
    <?php
    function encrypt($str) {
    	$key = array();
    	$dst = array();
    	$i = 0;
    
    	$nBytes = strlen($str);
            	while ($i < $nBytes){
                   	 $i++;
                    	$key[$i] = ord(substr($str, $i - 1, 1));
                    	$dst[$i] = $key[$i];
    	}
    
    	$rslt = $key[1] + $key[2]*256 + $key[3]*65536 + $key[4]*16777216;
    	$one = $rslt * 213119 + 2529077;
    	$one = $one - intval($one/ 4294967296) * 4294967296;
    
    	$rslt = $key[5] + $key[6]*256 + $key[7]*65536 + $key[8]*16777216;
    	$two = $rslt * 213247 + 2529089;
    	$two = $two - intval($two/ 4294967296) * 4294967296;
    
    	$rslt = $key[9] + $key[10]*256 + $key[11]*65536 + $key[12]*16777216;
    	$three = $rslt * 213203 + 2529589;
    	$three = $three - intval($three/ 4294967296) * 4294967296;
    
    	$rslt = $key[13] + $key[14]*256 + $key[15]*65536 + $key[16]*16777216;
    	$four = $rslt * 213821 + 2529997;
    	$four = $four - intval($four/ 4294967296) * 4294967296;
    
    	$key[4] = intval($one/16777216);
    	$key[3] = intval(($one - $key[4] * 16777216) / 65535);
    	$key[2] = intval(($one - $key[4] * 16777216 - $key[3] * 65536) / 256);
    	$key[1] = intval(($one - $key[4] * 16777216 - $key[3] * 65536 - $key[2] * 256));
    
    	$key[8] = intval($two/16777216);
    	$key[7] = intval(($two - $key[8] * 16777216) / 65535);
    	$key[6] = intval(($two - $key[8] * 16777216 - $key[7] * 65536) / 256);
    	$key[5] = intval(($two - $key[8] * 16777216 - $key[7] * 65536 - $key[6] * 256));
    
    	$key[12] = intval($three/16777216);
    	$key[11] = intval(($three - $key[12] * 16777216) / 65535);
    	$key[10] = intval(($three - $key[12] * 16777216 - $key[11] * 65536) / 256);
    	$key[9] = intval(($three - $key[12] * 16777216 - $key[11] * 65536 - $key[10] * 256));
    
    	$key[16] = intval($four/16777216);
    	$key[15] = intval(($four - $key[16] * 16777216) / 65535);
    	$key[14] = intval(($four - $key[16] * 16777216 - $key[15] * 65536) / 256);
    	$key[13] = intval(($four - $key[16] * 16777216 - $key[15] * 65536 - $key[14] * 256));
    
    	$dst[1] = $dst[1] ^ $key[1];
    
    	$i=1;
    	while ($i<16){
    		$i++;
    		$dst[$i] = $dst[$i] ^ $dst[$i-1] ^ $key[$i];
    	}
    
    	$i=0;
    	while ($i<16){
    		$i++;
    		if ($dst[$i] == 0) {
    			$dst[$i] = 102;
    		}
    	}
    
    	$encrypt = "0x";
    	$i=0;
    	while ($i<16){
    		$i++;
    		if ($dst[$i] < 16) {
    			$encrypt = $encrypt . "0" . dechex($dst[$i]);
    		} else {
    			$encrypt = $encrypt . dechex($dst[$i]);
    		}
    	}
    
    	return $encrypt;}

    вот он великий генератор паролей оО
    никто не подберет пароль ))))

    bestxp, 06 Апреля 2010

    Комментарии (24)
  6. JavaScript / Говнокод #2925

    +164.8

    1. 1
    2. 2
    3. 3
    utils.ajax.q("flip.php?o="+s+"&r="+Math.random()+Math.random()+Math.random(), function(r) {
        if(r != "S") trc("Ошибка! -- "+r);
    });

    потребовался абсолютный рандом.
    взято отсюда http://forlulz.net/labs/pix/ - там такого моего кода еще навалом

    danilissimus, 03 Апреля 2010

    Комментарии (24)
  7. JavaScript / Говнокод #2913

    +169.4

    1. 1
    if (!jQuery) $('<scr' + 'ipt src="/jquery.js" type="text/javascript"></scr' + 'ipt>');

    eval, 01 Апреля 2010

    Комментарии (24)
  8. C++ / Говнокод #2899

    +54.6

    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
    #include <iostream>
    
    class TerVer {
    public:
      short d1, d2, d3, d4;
      short totalCounter, goodCounter;
      bool DoneInc;
      TerVer(): d1(1), d2(0), d3(0), d4(0), totalCounter(1), goodCounter(0), DoneInc(false) {}
      bool IsGood() {
        return (
          (d1==d2 && d1!=d3 && d1!=d4 && d3!=d4) ||
          (d1==d3 && d1!=d2 && d1!=d4 && d2!=d4) ||
          (d1==d4 && d1!=d2 && d1!=d3 && d2!=d3) ||
    
          (d2==d3 && d2!=d1 && d2!=d4 && d1!=d4) ||
          (d2==d4 && d2!=d1 && d2!=d3 && d1!=d3) ||
    
          (d3==d4 && d3!=d1 && d3!=d2 && d1!=d2)
          ) ? true : false;
      }
      void Inc() {
        d4++; 
        if(d4>9) { d4=0; d3++; if(d3>9) {d3=0; d2++; if(d2>9) { d2=0; d1++; if(d1>9) DoneInc = true; } } }
        if (!DoneInc) { totalCounter++; if (IsGood()) goodCounter++; }
      }
    };
    
    int main() {
      TerVer z;
      while(!z.DoneInc) {
        z.Inc();
      }
      cout << z.goodCounter << " / " << z.totalCounter << " = " << (double)z.goodCounter/z.totalCounter << endl;
    
      return 0;
    }

    Найти вероятность того, что в случайном четырехзначном числе ровно две цифры совпадают.
    Вот что бывает, когда лень думать.

    elmigranto, 30 Марта 2010

    Комментарии (24)
  9. Pascal / Говнокод #2781

    +144.8

    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
    FUNCTION PCHARTOSTRING(pc:pchar):string;
      VAR
       s:string;
       //P:PCHAR;
    
       I:word;
       //O:WORD;
       BEGIN
    
       FOR I:=1 TO 255 DO
       begin
       if pc[i]=#0 then
       s[i]:=pc[i-1];
       begin
       setlength(s,i);
       PCHARTOSTRING:=s;
       exit;
       end;
       end;
        setlength(s,255);
       PCHARTOSTRING:=s;
       END;

    И это в Дельфи. O_o

    Говногость, 13 Марта 2010

    Комментарии (24)
  10. VisualBasic / Говнокод #2173

    −366.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Public Overrides Function DataChanged() As Boolean
            Const CONST_PROC_NAME = "DataChanged"
            Try
                Return False
            Catch objExcp As Exception
                Me.DisplayMessageBox("Unexpected Exception in " & CONST_CLASS_NAME & "." & CONST_PROC_NAME & " : " & objExcp.Message.ToString, MessageBoxIcon.Error)
            End Try
        End Function

    По суровому закону нашего проекта каждая функция должна быть обернута ловлей эксепшиона. Каждая. Всегда.

    6istik, 24 Ноября 2009

    Комментарии (24)
  11. Си / Говнокод #2039

    +132.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
    21. 21
    22. 22
    23. 23
    24. 24
    char *uart_readln_timeout(UART_HANDLE h, char *buf, uint16_t len, clock_tick_t to)
    {
        clock_tick_t finish_time;
     
        char *datap = buf;
        char *datae = buf + len - 1;
    
        if( len == 0 ) return buf;
        if( len == 1 ) {
            buf[0] = 0;
            return buf;
        }
    
        finish_time = clock_get_millis() + to;
    
        // FIXME!!!
        while( datap < datae && ( to == 0 || clock_get_millis() < finish_time ) ) {
            if( uart_read_char(h, datap) ) {
                if( *datap++ == '\n' ) break;
            }
        }
        *datap = 0;
    	return buf;
    }

    читает строку из UART. есть подозрение, что это говнокод.

    dmzlj.livejournal.com, 24 Октября 2009

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