1. Java / Говнокод #4731

    +78

    1. 1
    2. 2
    3. 3
    double price=199990.10;
    BigDecimal realPrice=new BigDecimal(price).round(
    		new MathContext((int)Math.round(Math.log10(price))+3)));

    Округление до копеек.
    Реальный финансовый проект.

    gavnokoder, 24 Ноября 2010

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

    +156

    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
    function uname($v)
    {
    	return $v;
    }
    
    function name($v)
    {
    	return $v;
    }
    
    function url($v)
    {
    	return $v;
    }
    		
    function icq($v)
    {
    	return $v;
    }
    	
    function from($v)
    {
    	return $v;
    }
    	
    function intrest($v)
    {
    	return $v;
    }
    
    foreach( $s_data AS $k=>$v )
    {
    	$v =  $k($v);
    	$parser -> set_var($this -> tmpl_id,$k,$v);
    }

    Клинический случай. Убрал «$v = $k($v);» и, как и следовало ожидать, ничего не изменилось.

    Oonitaz, 24 Ноября 2010

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

    +174

    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
    // used to set or reset batch mode
    void SetIsBatch(bool bSet)
    {
        if(bSet)
        {
            if(m_Chart.GetIsBatched())
                return;
            else
            {
                m_Chart.SetIsBatched(TRUE);
            }
        }
        else
        {
           if(m_Chart.GetIsBatched())
           {
               m_Chart.SetIsBatched(FALSE);
           }
           else
               return;
        }
    }

    Shumway, 24 Ноября 2010

    Комментарии (21)
  4. VisualBasic / Говнокод #4728

    −93

    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
    Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label10.Click
    
            RadioButton1.Checked = False
            RadioButton2.Checked = False
            RadioButton3.Checked = False
            RadioButton4.Checked = False
            RadioButton5.Checked = False
            RadioButton6.Checked = False
            RadioButton7.Checked = False
            RadioButton8.Checked = False
            RadioButton9.Checked = False
            RadioButton10.Checked = False
    
            RadioButton11.Checked = False
            RadioButton12.Checked = False
            RadioButton13.Checked = False
            RadioButton14.Checked = False
            RadioButton15.Checked = False
            RadioButton16.Checked = False
            RadioButton17.Checked = False
            RadioButton18.Checked = False
            RadioButton19.Checked = False
            RadioButton20.Checked = False
    
            RadioButton21.Checked = False
            RadioButton22.Checked = False
            RadioButton23.Checked = False
            RadioButton24.Checked = False
            RadioButton25.Checked = False
            RadioButton26.Checked = False
            RadioButton27.Checked = False
            RadioButton28.Checked = False
            RadioButton29.Checked = False
            RadioButton30.Checked = False
    
            RadioButton31.Checked = False
    
            RadioButton33.Checked = False
            RadioButton34.Checked = False
            RadioButton35.Checked = False
            RadioButton36.Checked = False
            RadioButton37.Checked = False
            RadioButton38.Checked = False
            RadioButton39.Checked = False
            RadioButton40.Checked = False
            RadioButton41.Checked = False
            RadioButton44.Checked = False
    
            Button1.Enabled = True
            Panel5.Visible = True
            Panel7.Visible = False
            Panel3.Visible = False
            Panel4.Visible = False
            Panel6.Visible = False
            Panel8.Visible = False
            Panel10.Visible = False
            Panel2.Visible = False
            Panel14.Visible = False
            Panel16.Visible = False
            Panel1.Visible = False
    
    
        End Sub

    А вот так кодят ценные специалисты, работающие за неплохие деньги в столичных ВУЗах .

    non_def, 23 Ноября 2010

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

    +86

    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
    boolean IsWeekStartsMonday() {
    if (strDay.equalsTo("Russia") || strDay.equalsTo("Ukraina") || ....)
        return true;
    else
        return false;
    }
    
    void SomeFunction(){
    ....
    if (IsWeekStartsMonday())
        startDay = java.util.Calendar.getFirstDayOfWeek();
    else
        startDay = java.util.Calendar.SUNDAY;
    }

    из исходников андроидовской апликухи, отличился гражданин Индии :)

    AndyFox, 23 Ноября 2010

    Комментарии (19)
  6. Java / Говнокод #4726

    +84

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    try {
                    if (field[i][j + 1] == 0) {
                        field[i][j + 1] = 2;
                        fifo.add(new Cell(i, j + 1));
                    }
                } catch (ArrayIndexOutOfBoundsException ignored) {
                }

    Плевать на то что будет стучаться к несуществующему элементу массива, заигнорим и все!

    dexatot, 23 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (users.ToList().Count == 0)
    {
              return true;
    }
    else
    {
              return false;
    }

    Mikita, 23 Ноября 2010

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    void XmlElementHandler::startElement(
                        const XMLCh* const uri,
                        const XMLCh* const localname,
                        const XMLCh* const qname,
                        const XERCES_CPP_NAMESPACE_QUALIFIER Attributes& attrs
                        )
    {
      static XmlContext *context = XmlContext::getInstance();
      static XmlParser *parser = XmlParser::getInstance();

    оптимизируем обращения к синглтонам. потому что одной невидимой глобальной переменной явно не достаточно. вот такое щасце в 30+ методах на реализации интерфейса к Xerces-C.

    Dummy00001, 23 Ноября 2010

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

    +179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(
        (s.Find("/0")!=-1)||
        (s.Find("Log10(-")!=-1)||
        (s.Find("Log10(0")!=-1))//stupid user error
    {
    }

    Проверка, есть ли в формуле, введенной пользователем, деление на 0, логарифм от отрицательного числа или логарифм от нуля. Стиль и комментарии автора сохранены.

    Shumway, 23 Ноября 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    //Set different text depending on how long on progressbar progress is
    if (dwStepPercent < 25)
        byText=0;
    else if (dwStepPercent < 50)
        byText=1;
    else if (dwStepPercent < 75)
        byText=2;
    else
        byText=3;

    Отличный способ не делить.

    Shumway, 23 Ноября 2010

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