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

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

    +108

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (needParce)
    {
        try
        {
            count = decimal.Parse(tb_count.Text.Replace(".", ","));
        }
        catch
        {
            count = decimal.Parse(tb_count.Text.Replace(",", "."));
        }  
    }

    ffosbs, 16 Июня 2014

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

    −127

    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
    Function Розница()
    	If Покупатель.Выбран() = 1 Then
    		If Покупатель.Вид() = "ПунктДоставки" Then
    			If Покупатель.Владелец.ТипЦенОтгрузки = Enum.ТипыОтпускныхЦен.Розничные Then
    				Return 1;
    			Else
    				Return 0;
    			EndIf;
    		Else
    			Return 0;
    		EndIf;
    	Else
    		Return 0;
    	EndIf;
    EndFunction

    Сегодня наткнулся на такой вот кусок кода

    TekhnoLife, 10 Июня 2014

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

    +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
    // Определить тип ОС
       string OSVersion = null;
       try
       {
        try
        {
         OSVersion = Microsoft.Win32.Registry.GetValue(@"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\", "ProductName", "").ToString();
        }
    
        catch (NullReferenceException)
        {
        OSVersion = "";
        }
       }
       
       catch (SecurityException)
       {
        OSVersion = "";
       }
    
       finally {} // иначе при вложенном try ошибка

    Говницо собственного производства, когда учился программировать на первой работе.

    Smekalisty, 27 Мая 2014

    Комментарии (17)
  5. Java / Говнокод #16057

    +75

    1. 1
    cooldownTime.add(14, (int)(cooldown * 1000.0D % 1000.0D));

    ...

    Jampire, 25 Мая 2014

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

    +160

    1. 1
    elem.innerPHP

    Интересно, почему же не работает?..

    AjiTae, 12 Мая 2014

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

    +74

    1. 1
    2. 2
    3. 3
    class A {
    public String[] newString = new String[0];
    }

    Пользуйтесь на здоровье :)

    I12345, 09 Мая 2014

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

    +96

    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
    Var
    h : THandle;
    
    procedure TMain.FormCreate(Sender: TObject);
    
    begin
    begin
    h := CreateMutex(nil, True, PChar(ExtractFileName(Application.ExeName)));
    if WaitForSingleObject(h, 0)<>0 then
    begin
    ShowMessage(‘Программа уже запущена!’);
    Application.Terminate;
    CloseHandle(h);
    end;
    end;

    http://moron.1side.ru/programmirovanie/delphi/zapret-povtornogo-zapuska-programmy.php

    brutushafens, 02 Мая 2014

    Комментарии (17)
  9. Pascal / Говнокод #15729

    +83

    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
    initialization
      //done this way so we can have a separate stack just for FPC under Unix systems
      GStackClass :=
        {$IFDEF USE_VCL_POSIX}
        TIdStackVCLPosix
        {$ELSE}
          {$IFDEF UNIX}
            {$IFDEF KYLIXCOMPAT}
            TIdStackLibc
            {$ENDIF}
            {$IFDEF USE_BASEUNIX}
            TIdStackUnix
            {$ENDIF}
          {$ENDIF}
          {$IFDEF WINDOWS}
          TIdStackWindows
          {$ENDIF}
          {$IFDEF DOTNET}
          TIdStackDotNet
          {$ENDIF}
        {$ENDIF}
      ;
      GStackCriticalSection := TIdCriticalSection.Create;
      {$IFNDEF DOTNET}
        {$IFDEF REGISTER_EXPECTED_MEMORY_LEAK}
      IndyRegisterExpectedMemoryLeak(GStackCriticalSection);
        {$ENDIF}
      {$ENDIF}
    finalization
      // Dont Free. If shutdown is from another Init section, it can cause GPF when stack
      // tries to access it. App will kill it off anyways, so just let it leak
      {$IFDEF FREE_ON_FINAL}
      FreeAndNil(GStackCriticalSection);
      {$ENDIF}
    end.

    Выдержка из IdStack.pas. Без комментариев.

    Предыcтория.
    fastmm постоянно сообщал об утечках памяти в моих программах, использующих Indy: решил разобраться.
    Оказалось, что ошибки возникали при использовании IdStack, по умолчанию этот модуль используют почти все компоненты из палитры.

    brutushafens, 11 Апреля 2014

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

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var a = [1,2,3,4,5,6,7,8,9];
    document.write('1' + '!='+ a[0] + '<br>');
    document.write('2' +'!=' + a[0] * a[1] + '<br>');
    document.write('3' +'!=' + a[0] * a[1] * a[2] + '<br>');
    document.write('4' +'!=' + a[0] * a[1] * a[2] * a[3] + '<br>');
    document.write('5' +'!=' + a[0] * a[1] * a[2] * a[3] * a[4] + '<br>');
    document.write('6' +'!=' + a[0] * a[1] * a[2] * a[3] * a[4] * a[5] + '<br>');
    document.write('7' +'!=' + a[0] * a[1] * a[2] * a[3] * a[4] * a[5] * a[6] + '<br>');
    document.write('8' +'!=' + a[0] * a[1] * a[2] * a[3] * a[4] * a[5] * a[6] * a[7] + '<br>');
    document.write('9' +'!=' + a[0] * a[1] * a[2] * a[3] * a[4] * a[5] * a[6] * a[7] * a[8] + '<br>');

    Таблица факториалов до 9

    spellproff, 09 Апреля 2014

    Комментарии (17)
  11. ActionScript / Говнокод #15695

    −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
    /**
     *  @private
     *  Calculates the height needed for heightInLines lines using the default
     *  font.
     */
    private function calculateHeightInLines():Number
    {
        var height:Number = getStyle("paddingTop") + getStyle("paddingBottom");
        
        if (_heightInLines == 0)
            return height;
        
        var effectiveHeightInLines:int;
        
        // If both height and width are NaN use 10 lines.  Otherwise if 
        // only height is NaN, use 1.
        if (isNaN(_heightInLines))
            effectiveHeightInLines = isNaN(_widthInChars) ? 10 : 1;   
        else
            effectiveHeightInLines = _heightInLines;
        
        // Position of the baseline of first line in the container.
        value = getStyle("firstBaselineOffset");
        if (value == lineHeight)
            height += lineHeight;
        else if (value is Number)
            height += Number(value);
        else
            height += ascent;
        
        // Distance from baseline to baseline.  Can be +/- number or 
        // or +/- percent (in form "120%") or "undefined".  
        if (effectiveHeightInLines > 1)
        {
            var value:Object = getStyle("lineHeight");     
            var lineHeight:Number =
                RichEditableText.getNumberOrPercentOf(value, getStyle("fontSize"));
            
            // Default is 120%
            if (isNaN(lineHeight))
                lineHeight = getStyle("fontSize") * 1.2;
            
            height += (effectiveHeightInLines - 1) * lineHeight;
        }            
        
        // Add in descent of last line.
        height += descent;              
        
        return height;
    }

    Внимательно следим за жизненным циклом переменной lineHeight.

    wvxvw, 07 Апреля 2014

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