1. 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} — $only_title" if %parent;
    	$only_title= "$parent2{title} — $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)
  2. C# / Говнокод #1604

    +135.2

    1. 1
    Continue = (Continue) ? true : false;

    CADakaRK, 17 Августа 2009

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

    −145.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    # I really hate Western week system (0 - sunday, 6 - saturday),
          # maybe it is better, but this crap is incompatible with
          # Russian week system (0 - monday, 6 - sunday)
          wday = date.wday - 1
          wday = 6 if wday == -1

    Кусок кода из реализации расписания с календарём в текущем проекте.

    Только что оказалось, что для этого как раз есть метод Date#cwday :)

    eveel, 17 Августа 2009

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

    +94.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    I := 0;
            While clbDBList.ItemIndex < I+1 do // пробегаемся циклом по списку баз данных.
              begin
                If clbDBList.Checked[Ix] then // Если база отмечена, производим её обновление.
                  begin
                      //тут действия.. 
                  end;
                Inc(I);
              end;

    В общем условие While цикла.. когда я увидел.. долго думал что я такого курил, когда писал это... )))

    XIO, 17 Августа 2009

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

    +152.7

    1. 1
    2. 2
    3. 3
    4. 4
    function handleServerResponse() 
    {
    	document.getElementById("guest").innerHTML = "<table width='100%'><tr><td align='center' valign='center'><p style='color:gray;text-align:center;'>" + xmlHttp.responseXML.documentElement.getElementsByTagName("ok").item(0).firstChild.data + "</p></td></tr></table>\n";	
    }

    Обработка данных AJAX-ом.

    daemon_master, 16 Августа 2009

    Комментарии (3)
  6. C# / Говнокод #1600

    +139

    1. 1
    dgridPFF1.Rows[1].Cells[1].Value = UtilHelper.Number2String(Convert.ToDouble(UtilHelper.StringToInvariantCulture(dgridPFF1.Rows[0].Cells[1].Value), UtilHelper.getCultureInfo()) / Convert.ToDouble(UtilHelper.StringToInvariantCulture(dgridPFF2.Rows[0].Cells[0].Value),UtilHelper.getCultureInfo()), 2); // String.Format(UtilHelper.getCultureInfo(),UtilHelper.NUMBERIC_FORMAT_2,Convert.ToDouble(dgridPFF1.Rows[0].Cells[1].Value) / Convert.ToDouble(dgridPFF2.Rows[0].Cells[0].Value, UtilHelper.getCultureInfo()));

    Виетнамский jungle code :)

    bugotrep, 16 Августа 2009

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

    +138.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
    public static void loadDataToDataGridView(DataGridView objDataGridView, List<object> objResultSet, IList objects)
            {
                if (objDataGridView == null || objResultSet == null) return;
    
                objDataGridView.Rows.Clear();
                for (int i = 0; i < objResultSet.Count; i++)
                {
                    for (int columnIndex = 0; columnIndex < ((List<object>)objResultSet[i]).Count; columnIndex++)
                    {
                        if (columnIndex == 0)
                        {
                            objDataGridView.Rows.Add();
                        }
                        objDataGridView.Rows[i].Cells[columnIndex].Value = ((List<object>)objResultSet[i])[columnIndex];
                    }
                    if (objects != null)
                    {
                        objDataGridView.Rows[i].Tag = objects[i];
                    }
                }
            }
    
            public static void loadDataToDataGridView(DataGridView objDataGridView, List<object> objResultSet)
            {
                loadDataToDataGridView(objDataGridView, objResultSet, null);
            }
    ...
    use of this code:
    ...
                List<object> values = new List<object>();
                List<object> value = new List<object>();
                if (_objPriceFormationFormula.RateVsEuro == 0)
                {
                    value.Add(UtilHelper.Number2String(1.00,2));// String.Format(UtilHelper.getCultureInfo(),UtilHelper.NUMBERIC_FORMAT_2,1.00));//1.00
                }
                else 
                {
                    value.Add(UtilHelper.Number2String(_objPriceFormationFormula.RateVsEuro,2));// String.Format(UtilHelper.getCultureInfo(),UtilHelper.NUMBERIC_FORMAT_2,_objPriceFormationFormula.RateVsEuro));
                }
                
                values.Add(value);
                UtilHelper.loadDataToDataGridView(this.dgridPFF2, values);

    Instead of databind :)

    bugotrep, 16 Августа 2009

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

    +139

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public bool IsEmpty()
            {
                int x = 0;
                x += EntityType.Length == 0 ? 1 : 0;
                x += EntityTypeName.Length == 0 ? 1 : 0;
                x += EntityDisplayName.Length == 0 ? 1 : 0;
                x += EntityId == Guid.Empty ? 1 : 0;
    
                return x == 0 ? false : true;
            }

    Аритметичный if :)

    bugotrep, 16 Августа 2009

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

    +155

    1. 1
    return i == -1 ? true : false;

    Ну это, если true, так true, а иначе false, чисто чтобы всем было понятно...

    victorsmirnov, 16 Августа 2009

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

    +136

    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
    #include <stdio.h>
    #include <pthread.h>
    #include <unistd.h>
    #include <math.h>
    #include <stdlib.h>
    
    struct thread_arg
    {
    	int a;
    	int b;
    	int c;
    	double d;
    };
    	
    
    void *ret_x1(void *arg)
    {
    		
    	struct thread_arg targ = *(struct thread_arg *)arg;
    	double x1;
    	x1 = (-targ.b + sqrt(targ.d)) / (2*targ.a);
    
    	fprintf(stderr, "x1 = %f\n", x1);
    
    	return NULL;
    }
    
    void *ret_x2(void *arg)
    {
    	struct thread_arg targ = *(struct thread_arg*)arg;
    	double x2;
    	x2 = (-targ.b - sqrt(targ.d)) / (2*targ.a);
    
    	
    
    	fprintf(stderr, "x2 = %f\n", x2);
    	
    	return NULL;
    }
    
    int main(void)
    {
    	pthread_t thread1, thread2;
    	struct thread_arg args;
    
    	fprintf(stderr, "Enter a, b and c\n");
    	scanf("%d %d %d", &args.a, &args.b, &args.c);
    	
    	args.d = args.b*args.b - 4*args.a*args.c;
    
    	if(args.d < 0)
    	{
    		fprintf(stderr,"There is no roots\n");
    		return 0;
    	}
    	else
    	{
    		if(pthread_create(&thread1, NULL, &ret_x1, &args) != 0)
    		{
    			fprintf(stderr, "Error1\n");
    			return 1;
    		}
    		if(pthread_create(&thread2, NULL, &ret_x2, &args) != 0)
    		{
    			fprintf(stderr, "Error2\n");
    			return 1;
    		}
    		pthread_join(thread1, NULL);
    		pthread_join(thread2, NULL);
    
    	}
    	return 0;
    		
    }

    Многопоточное решение квадратного уравнения...

    zitzy, 16 Августа 2009

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