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

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

    +133.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
    switch (aDataType.FullName)
    			{
    				case "System.SByte":	
    				case "System.Int16":	
    				case "System.Int32":	
    				case "System.Int64":	
    				case "System.Single":	
    				case "System.Double":	
    				case "System.Decimal":	
    				case "System.DateTime":	
    					_IsNumeric = true;
    					break;
    				case "System.String":   
    					_IsNumeric = false;
    					break;	
    				default:
    					throw new ArgumentException("Not supported field data type: " + 
    						aDataType.FullName, "aDataType");
    			}

    Не надо хардкодить названия типов

    sanya_fs, 26 Августа 2009

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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int i, j;
    for (i = j = 0; i < 4; i++)
    	if (frame & (0x8 >> i))
    	{
    		if (i < 2 && p.value < double(frames1[j]) && !(i && j) ||
    			i > 1 && p.value > double(frames1[j]))
    			p.value.attr = 1 + i;
    		j++;
    	}

    Как вам цикл до 4 с тремя проверками на значение счётчика? :)

    Dimarius, 25 Августа 2009

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

    +132.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
    //------------------------------------------------------------
    // Copyright (c) Microsoft Corporation.  All rights reserved.
    //------------------------------------------------------------
    
       private void AddDesigner()
            {
                Lazy<HostSurfaceFactory, IDesignerMetadataView> exportSurfaceFactory = fileNewDialog.GetHostFactory();
                HostControl hc = new HostControl();
                if (designerCounts.ContainsKey(exportSurfaceFactory.Metadata.ItemType))
                    designerCounts[exportSurfaceFactory.Metadata.ItemType]++;
                else
                    designerCounts.Add(exportSurfaceFactory.Metadata.ItemType, 1);
                string siteName = exportSurfaceFactory.Metadata.ItemType + designerCounts[exportSurfaceFactory.Metadata.ItemType].ToString();
                HostSurface hostSurface = exportSurfaceFactory.Value.CreateNew(siteName);
                hc.InitializeHost(hostSurface);
                string fileName = siteName + "." + exportSurfaceFactory.Metadata.FileExtension;
                TabPage tabpage = new TabPage(fileName + " - Design");
                tabpage.Tag = exportSurfaceFactory.Metadata.Language;
                hc.Parent = tabpage;
                hc.Dock = DockStyle.Fill;
                this.tabControl1.TabPages.Add(tabpage);
                this.tabControl1.SelectedIndex = this.tabControl1.TabPages.Count - 1;
                this.outputWindow.Writeline("Opened new host.");
                this.toolbox.DesignerHost = hostSurface.DesignerHost;
                this.solutionExplorer.AddFileNode(fileName);
                SetupMenus(hostSurface);
            }

    Пример из MEF. Написан неким Dinesh Chandnani.

    Gru, 25 Августа 2009

    Комментарии (8)
  5. 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)
  6. PHP / Говнокод #1574

    +153.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
    function filterVar($value)
    {
        if (get_magic_quotes_gpc())
        {
            $value = stripslashes($value);
        }
        
        $value = strip_tags($value); //режем теги.
        $value = preg_replace('%(<[^>]*(>|$)|>)%e', '', $value);
    
        return str_replace(array("\n", "\r"), array(' ', ''), $value);
    }
    
    foreach ($_GET as $reqValue)
    {
        $reqValue = is_array($reqValue) ? array_filter($reqValue, 'filterVar') : filterVar($reqValue);
    }
    
    $_REQUEST = array_merge ($_GET,$_POST);

    это меня вывело из себя

    junqed, 13 Августа 2009

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

    +153.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
    <?php
            /* ... */
    	$sbj->hasNewMsgs = false;
    	if (User::isLogged()) {
    if (0) {
    		if (/* Condition */) {
    			$sbj->hasNewMsgs = true;
    		}
    }
    	}
            /* ... */
    ?>

    Пишу форум. Выкладываю в публичный доступ более менее стабильную версию. Обнаруживается баг: «когда в теме есть новые сообщения — она не помечается, хотя категория, которая её содержит — помечается, как "с новыми сообщениями"». Неделю ленюсь залезть в исходники, найти, где же этот баг закрался (представляя, сколько кода надо перелопатить). Таки зашёл и сразу к модели, а там...
    Видно, дебажил и забыл убрать «экранизацию»

    Shock, 12 Августа 2009

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

    +163.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $true = true;
    for ($i=0; $i<count($list); $i++)
      if (!isset($list[$i]))
       $true = false;
    
    if ($true != true)
      die ("Error");

    Немного о правде и лжи

    GreenSid, 11 Августа 2009

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

    +147.6

    1. 1
    2. 2
    $false = false;
    return $false;

    В Jooml'е встретил нашел такой кусок

    guest, 05 Августа 2009

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

    +97.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int main()
    {
        ...
        return rand();
    }

    Иногда даже вылетают ошибки!

    guest, 28 Июля 2009

    Комментарии (8)
  11. Pascal / Говнокод #1408

    +128.5

    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
    program kot;
    
    var r,i,j, z : integer ;
     famnom: array[1..11,1..26] of char;
    Label lb1, lb2;
    
        begin
    
    Assign(input, 'c:\pascal\kot.txt');
    Reset(input);
     Assign(output, 'c:\pascal\tok.txt');
    Rewrite(output);
    for j:=1 to 10 do
    for i:=1 to 26 do           (*каждому символу присваивается свой номер в массиве*)
    
     begin
     read(input,famnom[j,i]);
     write(famnom[j,i]);        (*исходные данные копируются в файл*)
     end;
    
    writeln('');
    writeln('');
    close(input);
    
    Assign(input, 'c:\pascal\kot.txt');
    Reset(input);
    begin
    
    
    lb1 :   for j:=1 to 10 do
    begin
          i:= 16;                            
    while famnom[j,i]=famnom[j+1,i] do      
    i:=i+1;                               (*блабла*)
    if  famnom[j,i]<famnom[j+1,i] then    
    begin
    for i := 1 to 26 do
    begin
    famnom[11,i]:=famnom[j,i];            (*сравниваются символы короч*)
    famnom[j,i]:=famnom[j+1,i];
    famnom[j+1,i]:=famnom[11,i];
    
    
    end;
    goto lb1;
    end;
    end;
    end;
    
    for j:=1 to 10 do                
    for i:= 1 to 26 do
    begin
    write(famnom[j,i]);
    
    end;
    close(input);
    close(output);
    end.

    Ужас какойто

    guest, 23 Июля 2009

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