1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. JavaScript / Говнокод #1597

    +155

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

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

    victorsmirnov, 16 Августа 2009

    Комментарии (21)
  7. Си / Говнокод #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)
  8. C# / Говнокод #1595

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (messages[i].description != "")
                                if (messages[i].description.StartsWith("<![CDATA["))
                                {
                                    messages[i].description = messages[i].description.Substring(9);
                                    messages[i].description = messages[i].description.Substring(0, messages[i].description.Length - 3);
                                }

    для строк типа <![CDATA[******]!>
    Возникает устойчивое ощущение говнокода. Как нормально написать? :)

    ikovalyov, 16 Августа 2009

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

    +133.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
    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
    public static XmlNode FindNodeXPath(XmlNode root, string xPath)
            {
                string[] paths = xPath.Split(new char[] { '/' });
                XmlNode node = root;
                for (int i = 0; i < paths.Length; i++)
                {
                    XmlNode childNode = null;
                    for (int j = 0; j < node.ChildNodes.Count; j++)
                    {
                        if (node.ChildNodes[j].Name == paths[i])
                        {
                            childNode = node.ChildNodes[j];
                            node = childNode;
                            break;
                        }
                    }
                    if (childNode == null)
                    {
                        return null;
                    }
                }
                return node;
            }
    
            public static XmlNode FindNodeXPath(XmlNode root, string nodeName, string xPath)
            {
                XmlNode node = FindNodeXPath(root, xPath);
                if (node != null)
                {
                    for (int i = 0; i < node.ChildNodes.Count; i++)
                    {
                        if (node.ChildNodes[i].Name == nodeName)
                        {
                            node = node.ChildNodes[i];
                        }
                    }
                }
                return node;
            }
    
            public static void UpdateBaseAddress(string url, string fileConfig)
            {
                // Create config file to create 
                XmlDocument xmlDom = new XmlDocument();
                xmlDom.Load(fileConfig);
                XmlNode root = xmlDom.DocumentElement;
                // Get XML node 
                XmlNode xmlNode = FindNodeXPath(root, "endpoint", "system.serviceModel/services/service");
                xmlNode.Attributes["address"].Value = url;
    
                xmlNode = FindNodeXPath(root, "add", "system.serviceModel/services/service/host/baseAddresses");
                xmlNode.Attributes["baseAddress"].Value = url;
    
                xmlDom.Save(fileConfig);
            }

    Виетнамский XPath эквивалент :)

    bugotrep, 15 Августа 2009

    Комментарии (2)
  10. PHP / Говнокод #1593

    +153

    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
    function strum($text, $simb)
    {
    if(mb_strlen($text, 'UTF-8') > $simb){
    
    }
    if(mb_strlen($text, 'UTF-8') > $simb)
      {
    	$start = 0;
    	for($i = 0; $i <= (ceil(mb_strlen($text, 'UTF-8') / $simb)); $i++)
    	{
    
    		$tmp = mb_strpos($text, '. ', $start + $simb, 'UTF-8');
    		if(is_numeric($tmp))
    		{
    			$num[] = $tmp;
    
    		}
    		$tmp = mb_strpos($text, '! ', $start  + $simb, 'UTF-8');
    				if(is_numeric($tmp))
    		{
    			$num[] = $tmp;
    
    		}
    		$tmp = mb_strpos($text, '? ', $start  + $simb, 'UTF-8');
    				if(is_numeric($tmp))
    		{
    			$num[] = $tmp;
    
    		}
    		if($num != '')
    		{
    		$end = min($num) + 1;
    		}
    		if($end <= $start)
    		{
    			$end = mb_strlen($text, 'UTF-8');
    		}
    		$str = mb_substr($text, $start, $end, 'UTF-8');
    		$string[] = mb_substr($str, 0, ($end - $start), 'UTF-8');
    
    	$start = $end;
    	unset($num);
    	unset($str);
    	unset($tmp);
    	if($end == mb_strlen($text, 'UTF-8'))
    		{
    			break;
    		}
    	}
      }
      else
      {
      $string[] = $text;
      }
      return $string;
    
    }

    Функция для умной разбивки

    Arrim, 15 Августа 2009

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