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

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

    −100.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    {% if not has_previous %}
                   <a class="prev" style="visibility:hidden" href=?page={{ previous }} title="">prev</a>
    {% else %}
                   <a class="prev" href=?page={{ previous }} title="">prev</a>
    {% endif %}

    Django template. Написал один знакомый.

    sbb, 28 Августа 2009

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

    +158.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
    var TIWRECTANGLE14IWCL;
    var TIWRECTANGLE17IWCL;
    var TIWRECTANGLE18IWCL;
    var TIWRECTANGLE19IWCL;
    var TIWRECTANGLE16IWCL;
    var TIWRECTANGLE15IWCL;
    var TIWRECTANGLE10IWCL;
    var TIWRECTANGLE12IWCL;
    var TIWRECTANGLE13IWCL;
    var TIWRECTANGLE11IWCL;
    var TIWRECTANGLE9IWCL;
    var TIWRECTANGLE7IWCL;
    var TIWRECTANGLE8IWCL;
    var TIWRECTANGLE1IWCL;
    var TIWRECTANGLE4IWCL;
    var TIWRECTANGLE6IWCL;
    var TIWRECTANGLE5IWCL;
    var TIWRECTANGLE3IWCL;
    var TIWRECTANGLE2IWCL;
    var IWEDIT1IWCL;
    function IWEDIT2_OnKeyPress(ASender) {
    return CheckReturnKey(event.keyCode, 'IWEDIT2', true);
    }

    Массивы - исчадие прих.больниц для неполноценных программистов!
    Тру говнокодер пишет так!

    Код веб-страницы на Делфи. Продолжение - http://govnokod.ru/1709

    Taqi, 28 Августа 2009

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

    +48

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    while( !InputFileStream.atEnd() )
    {
    	QString Qstrtmp;
    	InputFileStream >> Qstrtmp;
    	ReadButton.bTag =  QString(QObject::tr( (Qstrtmp.toStdString()).c_str() ));
    	InputFileStream >> Qstrtmp;
    	ReadButton.iTag =  QString(QObject::tr( (Qstrtmp.toStdString()).c_str() ));
    	InputFileStream >> Qstrtmp;
    	ReadButton.Popup =  QString(QObject::tr( (Qstrtmp.toStdString()).c_str() ));
    	ReadButton.PartitionId = *iVar;
    	this->Buttons.push_back( ReadButton );
    }

    Код взят из совместного проекта 5-ти студентов.
    Это был начальный период нашего изучения Qt.

    k06a, 26 Августа 2009

    Комментарии (4)
  5. Python / Говнокод #1685

    −105.1

    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
    def init_images():
        rect  = [[0,0],[0,0],[0,0],[0,0],[0,0]]
        image = [[0,0],[0,0],[0,0],[0,0],[0,0]]
        
        rect[0][0], image[0][0]=load_image('box.png')
        rect[0][1], image[0][1]=load_image('box.png')
        
        rect[1][0], image[1][0]=load_image('fpoint.png')
        rect[1][1], image[1][1]=load_image('freefpoint.png')
        
        rect[2][0], image[2][0]=load_image('spoint.png')    
        rect[2][1], image[2][1]=load_image('freespoint.png')
        
        rect[3][0], image[3][0]=load_image('fbox.png')
        rect[3][0], image[3][0]=load_image('fbox.png')
        
        rect[4][0], image[4][0]=load_image('sbox.png')
        rect[4][1], image[4][1]=load_image('sbox.png')
        
        return image, rect

    Процедура загрузки изображений. Т.к. программа писалась через силу (мозги не работали), получались вот такие жуткие куски кода...

    algor_1, 25 Августа 2009

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

    +155.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function ValidatorEnable(val, enable) 
    {
        val.enabled = (enable != false);
        ValidatorValidate(val);
        ValidatorUpdateIsValid();
    }

    Обратите внимание на третью строку!
    (Сначала кажется, что она ничего не делает, но на самом деле она переводит тип в boolean), но обычно пишут все-таки
    val.enabled = !!enable

    Trams, 25 Августа 2009

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

    +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
    for($i=$start; $i<$end; $i++) {
            $v=$items[$idx[$i]];
        }
        $start = 0;
        $end = count($items);
        if (is_array($idx))
        {
        }
        else 
        {
         unset($idx);
         $idx[0] = 0;
        }

    Хоть и вырвано из контекста, но общая красота от этого не теряется.

    stan, 24 Августа 2009

    Комментарии (4)
  8. Perl / Говнокод #1644

    −55.1

    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
    #Пример раз
    	my %parse_hash = (
    		$sub_dir       => $dir,
    		$sub_style_dir => $style_dir,
    		$sub_image_dir => $image_dir
    	);
    
    
    #Пример два
    ...
    elsif ($event eq $Event_View_Par){
      print &ViewPar(%Query);
    }
    elsif ($event eq $Event_View_All){
      print &ViewPar(%Query);
    }
    elsif ($event eq $Event_View_Asset){
      print &ViewAsset(%Query);
    }

    Пример 1: В качестве ключей хэша переменные, которые определены в другом файле.
    Пример 2: переменные $Event_View* определены в другом, используются только здесь и больше нигде

    И так по всему коду
    Задалбывает всё время переключаться alt-табом на файл, смотреть на определение переменных

    Oleg_quadro, 20 Августа 2009

    Комментарии (4)
  9. Perl / Говнокод #1605

    −109.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
    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
    $in{item_name}=CGI::unescape($in{item_name});
    $in{item_number}=CGI::unescape($in{item_number});
    
    #убиваем пробелы сначала, с конца и двойные
    ###
    if($in{item_name}=~/^[\s]+([\s\S]+)/) {
      $in{item_name}=$1;
    }
    if($in{item_name}=~/([\s\S]+)[\s]+$/) {
      $in{item_name}=$1;
    }
    
    $in{item_name}=~s/[\s]{2,}/ /g;
      
    if($in{item_number}=~/^[\s]+([\s\S]+)/) {
      $in{item_number}=$1;
    }
    if($in{item_number}=~/([\s\S]+)[\s]+$/) {
      $in{item_number}=$1;
    }
    
    $in{item_number}=~s/[\s]{2,}/ /g;
    ####
    
    my @select_parent=db_select_list ['title','id'],"catalog_section","parent_id=0";
    
    
    
    ###########
    my $only_this_category_text;
    my $checked_only;
    if($in{action} eq 'filter' and !$in{only_this_cat}) { $checked_only=''; } else {$checked_only="checked"; }
    
    #############################
    my $selected_list_item;
    my $only_this_cat_string;
    my @selected_only;
    my $selected_parent;
    #die $in{only_this_cat_s};
    
    
    for(@select_parent)
    {my $name="index_sel_$$_{id}";
     if($in{action} eq 'filter' and ($in{only_this_cat_s} eq $$_{id})) {$selected_only[$$_{id}]='selected'; } else { $selected_only[$$_{id}]=''; }
     if(!$in{only_this_cat_s})
     { if(!$in{action} and ($in{s} eq $$_{id})) {$selected_only[$$_{id}]='selected'; } else { $selected_only[$$_{id}]=''; }
     }else{ if($in{only_this_cat_s} eq $$_{id}){ $selected_only[$$_{id}]='selected';}}
    }
    
    
    ############################
    
    
    if($in{s}) {
    
    #максимальная вложенность =3 - сформируем строку для чекбокса по-простому
      my %ha=db_select_row ['id','title','parent_id'],"catalog_section","id=$in{s}";
     if(%ha){$selected_only[$ha{parent_id}]='selected';}
    	my %parent=db_select_row ['title','parent_id'],"catalog_section","id=$ha{parent_id}";
      my %parent2=db_select_row ['title','parent_id'],"catalog_section","id=$parent{parent_id}";	
    	my $only_title=$ha{title};
    	
    	$only_title= "$parent{title} &mdash; $only_title" if %parent;
    	$only_title= "$parent2{title} &mdash; $only_title" if %parent2;
      $only_this_cat_string=""; 
    	if(%parent || %parent2) {#%ha
          $only_this_category_text=qq~
    			<span>
    			<input type="checkbox" name="only_this_cat" id="only_this_cat" $checked_only onchange="checkSelect();">
    			<label for="only_this_cat">Искать только в разделе &laquo;$only_title&raquo;</label>
    			</span>~;
    			    	
    	}
    	}
    	
    	
    $selected_list_item=qq~<select name="only_this_cat_s" id="only_this_cat_s"> <OPTION VALUE='none'>Все разделы</OPTION>~;
    										for(@select_parent)
    										{
    $selected_list_item.=qq~<OPTION VALUE='$$_{id}' $selected_only[$$_{id}]~;
    $selected_list_item.=qq~><label for="only_this_cat_s">$$_{title}</label>
                            </OPTION>~;
    										
    										}
    $selected_list_item.=qq~</select></td>~;
    $only_this_cat_string="Раздел каталога";

    Оригинальное форматирование сохранено

    nolka4, 17 Августа 2009

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

    +148.7

    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
    // Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (C) Martin Fowler.
    function changeLogo() {
    	var pane = document.getElementById("pane");
    	if(pane != null) {
    		pane.height = 240;
    		pane.width = document.body.clientWidth;
    	} else {
    		alert("it's sad, so sad...");
    	}
    	var logo = document.getElementById("logoJpg");
    	if(logo != null) {
    		logo.height = 50;
    		logo.width = document.body.clientWidth * 0.23;
    	} else {
    		alert(" ...it's a sad, sad situation, and it's getting more and more absurd");
    	}
    }

    Код совсем ничего, но камменты рулят

    domavoy, 15 Августа 2009

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

    +149.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
    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
    95. 95
    96. 96
    97. 97
    <?
    global $db;
    $db=new db(HOST,USER,PASS,DBNAME); //подключение к бд
    class db{
    	public $SumQuerys=false; //Temp Var
    	public $Vtime; //Temp time summ
    	public $td; //Temp date
    	public $db_id= false;
    	public $query_num=0;
    	public $query_id=NULL;
    	public $mysql_error=FALSE; 
    	public $mysql_error_num=NULL;
    	public $last_query=NULL;
    	var $error=0;
    	function __construct($host='',$user='',$pas='',$bd=''){
    		$this->db_id=mysql_connect($host,$user,$pas) or die('db connect error');
    		mysql_select_db($bd,$this->db_id) or die("db: '$bd' select error");
    		mysql_query('SET NAMES utf8');
    	}
    	function __destruct(){
    		$this->close();
    		if ($this->SumQuerys){
    			#print "<table style='font-size:10px;border-collapse:collapse;border:1px dotted black' border=1>".$this->SumQuerys."<tr><td><b>$this->Vtime</b></td><td></td></table>";
    		}
    	}
    	function query($query, $show_error=true){
    		$time = microtime(true);
    		$this->last_query = $query;
    		if(!($this->query_id = mysql_query($query, $this->db_id))){
    			$this->error=1;
    			$this->mysql_error = mysql_error();
    			$this->mysql_error_num=mysql_errno();
    			if($show_error){
    				$this->display_error($this->mysql_error, $this->mysql_error_num, $query);
    			}
    		} else {$this->error=0;}
    		$this->query_num ++;
    		
    		// ----------------------------------------------------------------------------
    		$time = round(microtime(true)-$time,5);
    		if($time>0.003){
    			$alert = "color:red";
    		}
    		$this->Vtime += $time;
    		@$this->SumQuerys .= "<tr style='$alert'><td>".$time."</td><td>".$query.'</td></tr>';
    		//------------------------------------------------------------------------------
    		return $this->query_id;
    	}
    	function qrow($query){
    		$this->query($query);
    		return mysql_fetch_row($this->query_id);
    	}
    	function get_row($query_id = ''){
    		if ($query_id == '') $query_id = $this->query_id;
    		return mysql_fetch_assoc($query_id);
    	}
    	function get_array($query_id = ''){
    		if ($query_id == '') $query_id = $this->query_id;
    		return mysql_fetch_array($query_id);
    	}
    	function fetch($query_id = ''){
    		global $d;
    		if ($query_id == '') $query_id = $this->query_id;
    		return $d=@mysql_fetch_object($query_id);
    	}
    	function fetchAll($field = ''){
    		while ($d=$this->fetch($this->query_id)){
    			if ($field == ''){
    				$arr[] = $d;
    			} else {
    				$arr[] = $d->$field;
    			}
    		}
    		return @$arr;
    	}
    	function qAll($query){
    		$this->query($query);
    		return $this->fetchAll();
    	}
    	function fetch_row($query_id = ''){
    		global $d;
    		if ($query_id == '') $query_id = $this->query_id;
    		return $d=@mysql_fetch_row($query_id);
    	}
    	function qfetch($query){
    		global $d;
    		$this->query($query);
    		return $d=@mysql_fetch_object($this->query_id);
    	}
    	function num_rows($query_id = ''){
    		if ($query_id == '') $query_id = $this->query_id;
    		return mysql_num_rows($query_id);
    	}
    	
    	function insert_id() {
    		return mysql_insert_id($this->db_id);
    	}

    интерестный класс для работы с бд=)

    Heckfi, 13 Августа 2009

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