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

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

    +105.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
    public static bool EqualHash(string x, string y)
            {
                if ((x == null || y == null) && x != y)
                    return false;
    
                if (x == null && x == y)
                    return true;
                
                if (x.Length != y.Length)
                    return false;
                
                for (int i=0; i<x.Length; i++)
                {
                    if (x[i] == y[i])
                        return false;
                }
    
                return true;
            }
    
    //чуть ниже в том же классе
    
            public static bool SimpleEqualHash(string x, string y)
            {
                return (x == y);
            }

    sven47, 04 Января 2010

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

    +131.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    internal static System.Drawing.Font ToWindowsFont(Microsoft.Office.Interop.PowerPoint.Font ppFont)
    {
    	FontStyle style = ToGdiFontStyle(ppFont.Style);
    	System.Drawing.Font gdiFont = new System.Drawing.Font(ppFont.Name, ppFont.Size, style);
    	// из-за следующей строчки проект не скомпилируется под .NET 2.0, требуя ещё и один из более новых SP
    	if ( windowsFont.Name != windowsFont.OriginalFontName )
    	{
    		windowsFont = new System.Drawing.Font(TextConverter.DefaultUnicodeSubstituteFont, ppFont.Size, style);
    	}
    	return windowsFont;
    }

    Баг был случайно найден на виртуалке с чистой Windows XP и MS Visual Studio 2005, поскольку мы по собственной глупости упустили тот факт, что на хост-машинах давно стоит .NET 3.5. Строчка "if ( windowsFont.Name != ppFont.Name )" решает проблему совместимости. Вот как иногда из-за маленькой, не бросающейся в глаза, ошибки можно завалить весь проект. Каюсь, этот код - мой. ))

    cyba, 31 Декабря 2009

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

    +149.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
    myAutoComp.formatResult = function(oResultData, sQuery, sResultMatch) { 
    
          .....
          var aMarkup = ["<div class='myCustomResult'>", 
    	      "<span style='font-weight:bold'>", 
    	      sKey, 
    	      "</span>", 
    	      sKeyRemainder, 
    	      ": ", 
    	      moreData1, 
    	      ", ", 
    	      moreData2, 
    	      "</div>"]; 
                  return (aMarkup.join("")); 
    };

    Отсюда http://developer.yahoo.com/yui/examples/autocomplete/ac_basic_xhr.html

    Oleg_quadro, 25 Декабря 2009

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

    +156.9

    1. 1
    2. 2
    3. 3
    4. 4
    elseif(isset($arParams["FILE_NAME_".$i])&&$arParams["FILE_NAME_".$i])
    {
    ....
    }

    atarix12, 24 Декабря 2009

    Комментарии (7)
  6. VisualBasic / Говнокод #2290

    −135.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
    Module Module1
    
        Private Const VK_ENTER As UInt32 = &HD
        Private Const KEYEVENTF_KEYUP As UInt32 = &H2
        Declare Auto Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
        Declare Auto Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
        Declare Auto Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    
    
        Sub Main()
            Console.Title = "AntiPornoAd"
            Console.Write("Подключение к серверу для загрузки списка запрещенных сайтов.")
            Sleep(500)
            Console.Write(".")
            Sleep(500)
            Console.Write(".")
            Sleep(500)
            Console.Write(".")
            Sleep(500)
            Console.Write(".")
            Sleep(500)
            Console.Write(".")
            Sleep(500)
            Console.WriteLine("")
            Console.Title = "Попытка сбора данных об ошибке..."
            Console.WriteLine("По неизвестной причине произошла ошибка в программе")
            Console.WriteLine("Начался сбор данных об ошибке")
            Console.WriteLine("Пожалуйста не закрывайте программу до завершения")
            Dim key As Integer
            Do While True
                key = GetAsyncKeyState(2)
                If key <> 0 Then
                    Sleep(90)
                    keybd_event(VK_ENTER, 0, 0, 0)
                    keybd_event(VK_ENTER, 0, KEYEVENTF_KEYUP, 0)
                    Sleep(50)
                End If
    
            Loop
        End Sub
    End Module

    Попробуйте запустить на компе подруги - масса эмоций гарантирована
    (не будет работать правая кнопка мыши :))

    x0wl, 16 Декабря 2009

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

    +99.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    foreach (char c in customField.CustomFieldId.ToLower()
                    .Replace("CustomField".ToLower(), String.Empty))
    {
                    if (c < '0' || c > '9') fieldName += c;
    }

    Догадайтесь что он делает

    arctic, 15 Декабря 2009

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

    +102.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    for i:=1 to 3 do
     if (f[i,1]<>a) and (f[i,2]<>b) then
     begin
      inc(n);
      if n>3 then exit;
      f[n,1]:=a;
      f[n,2]:=b;
      break;
    end
    else break;

    О как!

    Lolwho, 14 Декабря 2009

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

    +190.1

    1. 1
    if (isset($_COOKIE[SECURITY_COOKIE]) == "block")

    После этой строки шёл код для забаненных.

    (код взят из SLAED)

    xaionaro, 13 Декабря 2009

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

    +159.6

    1. 1
    2. 2
    <p>Всего сообщений: <?=$msg->{0}[0]['count']?></p>
    <p>Новых: <?=$msg->{0}[0]['countNew']?></p>

    Вот честнейшее слово, именно так. Пока загадка, почему и откуда. как будет время — разберусь. Как будет время настроение — разберусь. Если кто-то наткнётся — прошу прощения.

    Shock, 10 Декабря 2009

    Комментарии (7)
  11. Java / Говнокод #2230

    +71.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    try {
                System.out.print("x=");
                x = Integer.parseInt(br.readLine());
    } catch (IOException ex) {
                System.err.println("Ошибка. Рожей не вышел.");
    } catch(NumberFormatException e) {
                System.err.println("Ошибка. Неправильный формат аргумента.");
    }

    Найденный на просторах интернета код :)

    danilissimus, 05 Декабря 2009

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