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

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

    +138

    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
    bool ExcludeCase4(int iDepth)
            {
                MyNodeType pN = mPath[iDepth];
                if (pN != null)
                    if (pN.AuxField.bRed) return false;
    
                MyNodeType pP = mPath[iDepth - 1];
                    if (!pP.AuxField.bRed) return false;
    
                MyNodeType pS;
    
                if (LeftSon(iDepth))
                    pS = pP.pRight;
                else
                    pS = pP.pLeft;
    
                if (pS == null)
                {
                    pP.AuxField.bRed = false;
                    iDepthBad = -1;
                    return true;
                }
    
                if (pS.AuxField.bRed) return false;
    
                MyNodeType pSL = pS.pLeft;
                if (pSL != null)
                    if (pSL.AuxField.bRed) return false;
    
                MyNodeType pSR = pS.pRight;
                if (pSR != null)
                    if (pSR.AuxField.bRed) return false;
    
                pS.AuxField.bRed = true;
                pP.AuxField.bRed = false;
    
                iDepthBad = -1;
                
                return true;
    // Дерево стало хорошим. Корректировать больше не надо.
            }
    
            bool ExcludeCase6(int iDepth)
            {
                MyNodeType pN, pP, pS;
                bool bLeft, bRedP;
    
                pN = mPath[iDepth];
                if (pN != null)
                if (pN.AuxField.bRed) return false;
    
                pP = mPath[iDepth - 1];
                bRedP = pP.AuxField.bRed;
    
                bLeft = LeftSon(iDepth);
    
                if (bLeft)
                    pS = pP.pRight;
                else
                    pS = pP.pLeft;
    
                if (pS == null) return false;
                if (pS.AuxField.bRed) return false;
    
                MyNodeType pSL, pSR, p2, p3;
    
                pSL = pS.pLeft;
                pSR = pS.pRight;
    
                if (bLeft)
                {
                    if (pSR == null || pSR != null && !pSR.AuxField.bRed)
                    {
                        if (pSL == null) return false;
                        if (!pSL.AuxField.bRed) return false;
    // Сюда попали => это Случай 5.
    
                        p2 = pSL.pRight;
                        pSL.pRight = pS;
                        pS.pLeft = p2;
                        pSL.AuxField.bRed = false;
                        pS.AuxField.bRed = true;
    
                        pP.pRight = pSL;
                        pSR = pS;
                        pS = pSL;
                    }
                    else
                    if (!pSR.AuxField.bRed) return false;
    
    // Сюда попали => это Случай 6.
    
               ,......}

    кусочек красно-черного дерева, необходимый, но не достаточный

    lavrov, 18 Июня 2014

    Комментарии (4)
  3. Java / Говнокод #16188

    +74

    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
    import java.io.*;
    import java.util.*;
    
    public class Solution
    {
        public static void main(String[] args) throws Exception
          { Scanner scanner = new Scanner(System.in);
            int a = scanner.nextInt();
            int b = scanner.nextInt();
            int c = scanner.nextInt();
            int z = scanner.nextInt();
            if (a < b && a < c && a < z)
            {  if (b < c && b < z)
                {if (c < z)
                    {System.out.println(z + " " + c + " " + b + " " + a);}
                    else
                    {System.out.println(c + " " + z + " " + b + " " + a);} }
                else if (c < b && c < z)
                { if (b < z)
                    {System.out.println(z + " " + b + " " + c + " " + a);}
                    else
                    {System.out.println(b + " " + z + " " + c + " " + a);} }
                else if (z < c && z < b)
                { if (c < b)
                    {System.out.println(b + " " + c + " " + z + " " + a);}
                    else
                    {System.out.println(c + " " + b + " " + z + " " + a);} } }
            else if (b < a && b < c && b < z)
            { if (a < c && a < z)
                { if (c < z)
                    {System.out.println(z + " " + c + " " + a + " " + b);}
                    else
                    {System.out.println(c + " " + z + " " + a + " " + b);} }
                else if (c < a && c < z)
                { if (a < z)
                    {System.out.println(z + " " + a + " " + c + " " + b);}
                    else
                    {System.out.println(a + " " + z + " " + c + " " + b);} }
                else if (z < a && z < c)
                { if (a < c)
                    {System.out.println(c + " " + a + " " + z + " " + b);}
                    else
                    {System.out.println(a + " " + c + " " + z + " " + b);} } }
            else if (c < a && c < b && c < z)
            { if (a < b && a < z)
                { if (b < z)
                    {System.out.println(z + " " + b + " " + a + " " + c);}
                    else
                    {System.out.println(b + " " + z + " " + a + " " + c);} }
                else if (b < a && b < z)
                { if (a < z)
                    {System.out.println(z + " " + a + " " + b + " " + c);}
                    else
                    {System.out.println(a + " " + z + " " + b + " " + c);} }
                else if (z < a && z < b)
                { if (a < b)
                    {System.out.println(b + " " + a + " " + z + " " + c);}
                    else
                    {System.out.println(a + " " + b + " " + z + " " + c);} } }
            else if (z < a && z < b && z < c)
            { if (a < c && a < b)
                { if (c < b)
                    {System.out.println(b + " " + c + " " + a + " " + z);}
                    else
                    {System.out.println(c + " " + b + " " + a + " " + z);} }
                else if (c < a && c < b)
                { if (a < b)
                    {System.out.println(b + " " + a + " " + c + " " + z);}
                    else
                    {System.out.println(a + " " + b + " " + c + " " + z);} }
                else if (b < a && b < c)
                {
                    if (a < c)
                    {System.out.println(c + " " + a + " " + b + " " + z);}
                    else
                    {System.out.println(a + " " + c + " " + b + " " + z);} } }
    }
    }

    Ня!

    dagonlaf, 18 Июня 2014

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

    +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
    if ((int)($basket->summ/1000) > 999)
        {
          $price_all = substr_replace($basket->summ," ",1,0);
          $price_all = substr_replace($price_all," ",5,0);
        }
        elseif ((int)($basket->summ/1000) > 99)
        {
          $price_all = substr_replace($basket->summ," ",3,0);
        }
        elseif ((int)($basket->summ/1000) > 9)
        {
          $price_all = substr_replace($basket->summ," ",2,0);
        }
        elseif ((int)($basket->summ/1000) < 9 && (int)($basket->summ/1000) > 0)
        {
          $price_all = substr_replace($basket->summ," ",1,0);
        }
        elseif ((int)($basket->summ/1000) == 0)
        {
          $price_all = $basket->summ;
        }

    Вот так вот у нас на офисе коллега форматировал цену...

    Mayhemalexf, 18 Июня 2014

    Комментарии (4)
  5. Pascal / Говнокод #16182

    +91

    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
    for li:=LL-2 downto 1 do
            begin
              ag:=ml_(a[li], m_(gen(len(a[li]), 1, 1), a[li]) );
    
                cp(
                  b[li],
                  ml_(
                    ml(
                      t(W[li]),
                      from2(b[li+1], li <> LL-2)
                    )
                    ,
                    ag
                  )
                );
            end;

    Функциональное программирование в императивном стиле.

    icune, 18 Июня 2014

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

    +83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    try {
        progress.dismiss();
        progress = null;
        progress.dismiss();
    } catch (Exception e) {
        Log.e("error", e.getMessage() + " " + e.getCause());
    }

    andrew91, 17 Июня 2014

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

    −92

    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
    # @models.permalink
        def get_absolute_url(self):
            def urls_r(urlresolver, prefix = ''):
                urllist = []
                urlname = []
                for i in urlresolver:
                    if str(type(i)) == "<class 'django.core.urlresolvers.RegexURLResolver'>":
                        url_return = urls_r(i.url_patterns, i.regex.pattern)
                        urllist += url_return[0]
                        urlname += url_return[1]
                    else:
                        urllist.append(prefix + i.regex.pattern[1:])
                        urlname.append(i.name)
                return urllist, urlname
    
            from bizon.urls import urlpatterns
            from code.core.urls import code
    
            urllist, urlname = urls_r(urlpatterns)
    
            url = ''
            try:
                url = urllist[urlname.index('news_show')]
            except:
                print sys.exc_info()
    
            absolute_url = url.replace('^', '/').replace('(%s)' %code, '%s').replace('(\\d+)', '%d').replace('$', '') %(self.language, self.pk)
            return absolute_url

    сюрпризы в коде проектов от бывших коллег, феерией было видеть рядом с этим кодом маленькую функцию:
    def get_link(self):
    return '/ru/news/information/new/%d/' % (self.id)

    oxymoron42, 09 Июня 2014

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

    −130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Запрос.Текст = "
    |...
    | И УслугиОказанные.Проведен = &Истина
    |...";
    Запрос.УстановитьПараметр("Истина", Истина);

    Вот как бывает когда людям платят за количество строк.
    Коллега нашёл в отчёте из БГУ 1.0.

    Voittamaton, 04 Июня 2014

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

    +134

    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
    TestScriptResult Test_method( ... )
    {
    	TestScriptResult result = new TestScriptResult();
    	object obj = null;
    	///...
    	obj = foo.Set(...);
    	if (obj.GetType() == typeof(Exception))
    	{
    		result.SetResult(TestScriptResult.eTestResult.FAIL_SET_REQUEST, ((Exception)obj).Message);
    		_LogTestMethodEnd(result);
    		return result;
    	}
    	else
    	{
    	}
    }
    
    public Object Set(...)
    {
    	//...
    	if(CheckForErrors(res) == true)
    	{
    		//create error description
    		string sErrorDescription = string.Format("Error during ...."));
    		//create exception object and return this
    		Exception ex = new Exception(sErrorDescription);
    		//error logging
    		m_logger.Error(sErrorDescription);
    		return ex;
    	}
    	else
    	{
    	}
    }

    Ну нах так жыть, котаны???

    blackhearted, 02 Июня 2014

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

    −123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ИначеЕсли  Отправитель = "h*@**k.ua" Тогда
      НовыйДокумент.Услуга   = Справочники.Услуги.НайтиПоКоду("0000000029");
     ИначеЕсли  Отправитель = "*******@**k.ua" Тогда
      НовыйДокумент.Услуга   = Справочники.Услуги.НайтиПоКоду("0000000029");
      НовыйДокумент.Ответственный = Справочники.Сотрудники.НайтиПоКоду("0000000063");
     КонецЕсли;

    alexinzaz, 23 Мая 2014

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

    +162

    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
    $sql_color =
    "IF(PsaleCharge.payed = " . TSALE_CONTRACTOR_INIT . ", 'red', IF(PsaleCharge.payed = " . TSALE_CONTRACTOR_PARTIAL . ", 'silver', 'green'))";
    
    $sql_title =
    "IF(PsaleCharge.payed = " . TSALE_CONTRACTOR_INIT . ", 'Не оплачено', IF(PsaleCharge.payed = " . TSALE_CONTRACTOR_PARTIAL . ", 'Оплачено частично', 'Оплачено'))";
    
    if($allow_pay) {
    	$sql_allow_pay = "";
    } else {
    	$sql_allow_pay = "OR TRUE";
    }
    
    $sql_contractor_name =
    "GROUP_CONCAT(" .
    "'<tr>\r\n<td>', " .
    "IF(PsaleCharge.tcontractor_id IS NULL, " .
    "IF(PsaleCharge.recipient IS NULL OR PsaleCharge.recipient = '', '', CONCAT(PsaleCharge.recipient, '&nbsp;')), " .
    "CONCAT('<a href=\"../tcontractors/view?id=', Tcontractor.id, '\" target=\"_blank\">', HTMLSPECIALCHARS(Tcontractor.company), '</a>&nbsp;')" .
    "), " .
    "'</td>\r\n<td style=\'text-align:right;\'>', " .
    
    "IF(Psale.status = " . PSALE_STATUS_CLOSE . " $sql_allow_pay, CONCAT('<span style=\'color:', $sql_color, ';\' title=\'', $sql_title, '\'>', PsaleCharge.amount, '</span>'), " .
    
    "CONCAT(" .
    "'<a style=\'color:', $sql_color, ';\' title=\'', $sql_title, '\' href=\'#\' onclick=\'onPsaleChargeEdit(', PsaleCharge.id, ', ', PsaleCharge.psale_id,  ', false); return false;\'>', " .
    "PsaleCharge.amount, " .
    "'</a>'" .
    ")), " .
    
    "'</td>\r\n</tr>\r\n'" .
    "SEPARATOR ' ')";
    
    $sql_contractors =
    "SELECT $sql_contractor_name " .
    "FROM psale_charges PsaleCharge " .
    "LEFT JOIN tcontractors Tcontractor ON PsaleCharge.tcontractor_id = Tcontractor.id " .
    "WHERE PsaleCharge.psale_id = Psale.id ";

    Формируем разметку в SQL-запросе...

    DirtyG, 21 Мая 2014

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