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

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

    +161.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $CMS_VERSION = "1.3.1";
    $CMS_VERSION_NAME = "Havana";
    $CMS_SCHEMA_VERSION = "29";
    
    define('CMS_VERSION', $CMS_VERSION);
    define('CMS_VERSION_NAME', $CMS_VERSION_NAME);
    define('CMS_SCHEMA_VERSION', $CMS_SCHEMA_VERSION);

    На работе имеем дело с CMSMS (CMSMadeSimple).
    С модой у создателей неплохо, тут тебе и рекурсивный акроним в названии, и именнованные релизы... Но для чего делать вот так?

    p.s. говнокод откопал мой коллега. Привет ему ;)

    striker, 09 Сентября 2009

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

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /// <summary>Read-Only property. Gets the Age.</summary>
    public Int32 Age {
    	get {
    		Int32 age = 0;
    		if(this.dateOfBirth != DateTime.MaxValue){
    			String temp = (DateTime.Now.Subtract(this.dateOfBirth).TotalDays / 365).ToString();
    			age = Convert.ToInt32(temp.Substring(0, temp.IndexOf(".")));
    		}
    		return (age);
    	}
    }

    вот только одно не понимаю -- мочему Int32?

    OlgaWolga, 02 Сентября 2009

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function doSomething(){
    
      static firstTime = true;
    
      if (firstTime){
        //Этот код исполнится только при первом обращении к функции
      }
    //Этот код будет выполнятся при каждом обращении к функции
    }

    Пример взят из книги (дословно)...

    Bartelby, 29 Августа 2009

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

    +139

    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
    public void Recalculate(List<DateTime> weekDates,List<HistoricalRateOccurence> historicalRates) {
                UnitsTotal = MonUnits + TuesUnits + WedsUnits + ThursUnits + FriUnits + SatUnits + SunUnits;
                if (historicalRates.Count == 0) {
                    PayAmount = UnitsTotal*PayRate;
                }else {
                    for (int i = 0; i < weekDates.Count; i++) {
                        switch (i) {
                            case 0:
                                PayAmount += MonUnits*GetPayRateForDay(PayRate, weekDates[i], historicalRates);
                                break;
                            case 1:
                                PayAmount += TuesUnits * GetPayRateForDay(PayRate, weekDates[i], historicalRates);
                                break;                            
                            case 2:
                                PayAmount += WedsUnits * GetPayRateForDay(PayRate, weekDates[i], historicalRates);
                                break;                            
                            case 3:
                                PayAmount += ThursUnits * GetPayRateForDay(PayRate, weekDates[i], historicalRates);
                                break;                            
                            case 4:
                                PayAmount += FriUnits * GetPayRateForDay(PayRate, weekDates[i], historicalRates);
                                break;
    
                        }
                    }
                }
                ChargeAmount = UnitsTotal * AmsBillRate;
            }

    Никогда не доверяй циклу!

    xrundelek, 28 Августа 2009

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

    +136.2

    1. 1
    2. 2
    3. 3
    var ids = form.Keys;
    
    if(ids.Length == 0 || ids.Length > 1) { throw Exception;}

    кидать исключение если ids.Length !=1

    xrundelek, 28 Августа 2009

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

    +157

    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
    /**/		if ($page+1 <= $sch-1)
    /**/		{echo "<a  href='in_mes.php?page=".($page+1)."' class='nav_lnk'><strong>".($page+2)."</strong></a>";
    /**/		
    /**/		echo " ";}
    /**/		
    /**/		if ($page+2 <= $sch-1)
    /**/		{echo "<a  href='in_mes.php?page=".($page+2)."' class='nav_lnk'><strong>".($page+3)."</strong></a>";
    /**/		
    /**/		echo " ";}
    /**/		
    /**/		if ($page+3 <= $sch-1)
    /**/		{echo "<a  href='in_mes.php?page=".($page+3)."' class='nav_lnk'><strong>".($page+4)."</strong></a>";
    /**/		
    /**/		echo " ";}
    /**/		
    /**/		if ($page+4 <= $sch-1)
    /**/		{echo "<a  href='in_mes.php?page=".($page+4)."' class='nav_lnk'><strong>".($page+5)."</strong></a>";
    /**/		
    /**/		echo " ";}
    /**/		
    /**/		if ($page+5 <= $sch-1)
    /**/		{echo "<a  href='in_mes.php?page=".($page+5)."' class='nav_lnk'><strong>".($page+6)."</strong></a>";
    /**/		
    /**/		echo " ";}

    оригинальное форматирование сохранено. Что человек этим пытался сказать - не понятно

    nolka4, 28 Августа 2009

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

    +51.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
    CSocket*   CServer::GetSocket  (const int& fd) { // Find socket by FD
      if (m_mapSocket[fd]) return m_mapSocket[fd];
      else return NULL;
    }
    // another one piece of crap...
    void CServer::CloseSocket(const int& fd) { // Close Socket.
      delete m_mapSocket[fd];
      if (m_mapSocket[fd]) m_mapSocket.erase(fd);
    
      FD_CLR(fd,&FFd_set);
      if (fd == FMax_fd) FMax_fd--;
    }

    zaufi, 28 Августа 2009

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

    +159.9

    1. 1
    2. 2
    3. 3
    4. 4
    //admin id is usually 1. to think about it
    if (intval($_SESSION['userId']) == 1) {
        return true;
    }

    True ACL.

    Comma, 27 Августа 2009

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

    +70

    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
    for(int i = 0; i < s.length(); i++)
            {
                String c = s.substring(i, i + 1);
                if("_".equals(c) || " ".equals(c) || "-".equals(c))
                {
                    capitalize = true;
                    continue;
                }
                if(c.toUpperCase().equals(c))
                {
                    if(lastDecapitalized && !lastCapital)
                        capitalize = true;
                    lastCapital = true;
                } else
                {
                    lastCapital = false;
                }
                if(capitalize)
                {
                    if(p == null || !p.equals("_"))
                    {
                        result.append(c.toUpperCase());
                        capitalize = false;
                        p = c;
                    } else
                    {
                        result.append(c.toLowerCase());
                        capitalize = false;
                        p = c;
                    }
                } else
                {
                    result.append(c.toLowerCase());
                    lastDecapitalized = true;
                    p = c;
                }
            }

    Позор Jboss'овцам!
    это код из HibernateTools, теперь понятно почему оно такое глючное Г

    asdqwezx, 27 Августа 2009

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

    +134.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
    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
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    public Language(string lang)
    {
    if (lang != null)
    {
    if (lang.IndexOf("Afrikaans") > -1) lang = "1078";
    if (lang.IndexOf("Albanian") > -1) lang = "1052";
    if (lang.IndexOf("Arabic") > -1)
    {
    lang = "1025";
    if (lang.IndexOf("Algeria") > -1) lang = "5121";
    if (lang.IndexOf("Bahrain") > -1) lang = "15361";
    if (lang.IndexOf("Egypt") > -1) lang = "3073";
    if (lang.IndexOf("Egypt") > -1) lang = "2049";
    if (lang.IndexOf("Iraq") > -1) lang = "2049";
    if (lang.IndexOf("Jordan") > -1) lang = "11265";
    if (lang.IndexOf("Kuwait") > -1) lang = "13313";
    if (lang.IndexOf("Lebanon") > -1) lang = "12289";
    if (lang.IndexOf("Libya") > -1) lang = "4097";
    if (lang.IndexOf("Morocco") > -1) lang = "6145";
    if (lang.IndexOf("Oman") > -1) lang = "8193";
    if (lang.IndexOf("Qatar") > -1) lang = "16385";
    if (lang.IndexOf("Saudi Arabia") > -1) lang = "1025";
    if (lang.IndexOf("Syria") > -1) lang = "10241";
    if (lang.IndexOf("Tunisia") > -1) lang = "7169";
    if (lang.IndexOf("U.A.E.") > -1) lang = "14337";
    if (lang.IndexOf("Yemen") > -1) lang = "9217";
    }
    if (lang.IndexOf("Armenian") > -1) lang = "1067";
    if (lang.IndexOf("Assamese") > -1) lang = "1101";
    if (lang.IndexOf("Azeri") > -1)
    {
    lang = "2092";
    if (lang.IndexOf("Cyrillic") > -1) lang = "2092";
    if (lang.IndexOf("Latin") > -1) lang = "1068";
    }
    if (lang.IndexOf("Basque") > -1) lang = "1069";
    if (lang.IndexOf("Belarusian") > -1) lang = "1059";
    if (lang.IndexOf("Bengali") > -1) lang = "1093";
    if (lang.IndexOf("Bulgarian") > -1) lang = "1026";
    if (lang.IndexOf("Catalan") > -1) lang = "1027";
    if (lang.IndexOf("Chinese") > -1)
    {
    lang = "2052";
    if (lang.IndexOf("Hong Kong") > -1) lang = "3076";
    if (lang.IndexOf("Macao") > -1) lang = "5124";
    if (lang.IndexOf("PRC") > -1) lang = "2052";
    if (lang.IndexOf("Singapore") > -1) lang = "4100";
    if (lang.IndexOf("Taiwan") > -1) lang = "1028";
    }
    if (lang.IndexOf("Lithuanian") > -1) lang = "2087";
    if (lang.IndexOf("Croatian") > -1) lang = "1050";
    if (lang.IndexOf("Czech") > -1) lang = "1029";
    if (lang.IndexOf("Danish") > -1) lang = "1030";
    if (lang.IndexOf("Divehi") > -1) lang = "1125";
    if (lang.IndexOf("Dutch") > -1)
    {
    lang = "1043";
    if (lang.IndexOf("Belgium") > -1) lang = "2067";
    if (lang.IndexOf("Netherlands") > -1) lang = "1043";
    }
    if (lang.IndexOf("English") > -1)
    {
    lang = "2057";
    if (lang.IndexOf("Australia") > -1) lang = "3081";
    if (lang.IndexOf("Belize") > -1) lang = "10249";
    if (lang.IndexOf("Canada") > -1) lang = "4105";
    if (lang.IndexOf("Caribbean") > -1) lang = "9225";
    if (lang.IndexOf("Ireland") > -1) lang = "6153";
    if (lang.IndexOf("Jamaica") > -1) lang = "8201";
    if (lang.IndexOf("New Zealand") > -1) lang = "5129";
    if (lang.IndexOf("Philippines") > -1) lang = "13321";
    if (lang.IndexOf("South Africa") > -1) lang = "7177";
    if (lang.IndexOf("Trinidad") > -1) lang = "11273";
    if (lang.IndexOf("United Kingdom") > -1) lang = "2057";
    if (lang.IndexOf("United States") > -1) lang = "1033";
    if (lang.IndexOf("Zimbabwe") > -1) lang = "12297";
    }
    if (lang.IndexOf("Estonian") > -1) lang = "1061";
    if (lang.IndexOf("Faeroese") > -1) lang = "1080";
    if (lang.IndexOf("Farsi") > -1) lang = "1065";
    if (lang.IndexOf("Finnish") > -1) lang = "1035";
    if (lang.IndexOf("French") > -1)
    {
    lang = "1036";
    if (lang.IndexOf("Belgium") > -1) lang = "2060";
    if (lang.IndexOf("Canada") > -1) lang = "3084";
    if (lang.IndexOf("France") > -1) lang = "1036";
    if (lang.IndexOf("Luxembourg") > -1) lang = "5132";
    if (lang.IndexOf("Monaco") > -1) lang = "6156";
    if (lang.IndexOf("Switzerland") > -1) lang = "4108";
    }
    if (lang.IndexOf("Macedonian") > -1) lang = "1071";
    if (lang.IndexOf("Galician") > -1) lang = "1110";
    if (lang.IndexOf("Georgian") > -1) lang = "1079";
    if (lang.IndexOf("German") > -1)
    {
    lang = "1031";
    if (lang.IndexOf("Austria") > -1) lang = "3079";
    if (lang.IndexOf("Germany") > -1) lang = "1031";

    Таблица системных языков. http://forum.sources.ru/index.php?showtopic=270133&view=findpost &p=2243892

    TerraGhost, 26 Августа 2009

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