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

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

    +106

    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
    public static boolean isNumeric(string word)
    {
    	char[] charArray = word.toCharArray();
    	
    	foreach (char letter in charArray)
    	{
    		if (!(letter == '0' || letter == '1' || letter == '2' || letter == '3' || letter == '4' || letter == '5' || letter == '6' || letter == '7' || letter == '8' || letter == '9'))
    		{
    			return false;
    		}
    		return true;
    	}
    }

    За одно и подскажите правильный, оптимальный вариант этой функции

    vistefan, 28 Февраля 2012

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

    +960

    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
    private static void WriteErrLog(string FileName, string errors)
    {
        try
        {
            string name = Environment.CurrentDirectory + "\\log\\" + FileName.Replace("80020_", "");
            name = name.Replace(".xml", ".txt");
            if (File.Exists(name))
                name = name.Replace(".txt", "_" + DateTime.Now.ToString("yyyy-MM-dd hh_mm_ss") + ".txt");                
            using (StreamWriter f = new StreamWriter(name, true, Encoding.GetEncoding(1251)))
            {
                f.Write(errors);
            }
        }
        catch { }
    }

    Продолжаем...

    invi, 16 Февраля 2012

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

    +159

    1. 1
    2. 2
    3. 3
    exit;
    break;
    return false;

    Вот так истинные индусы завершают выполнение скрипта. Чтоб уж наверняка.
    Только die(); не хватает.

    ruslan441, 15 Февраля 2012

    Комментарии (16)
  5. SQL / Говнокод #9386

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    CASE st.testmode_order_active
    WHEN NULL THEN '1'
    WHEN '1' THEN '0'
    WHEN '0' THEN '1'
    as testmode_product_active

    кусок sql запроса с реального проекта. логика в БД одна, в приложении - обратная.

    codename, 10 Февраля 2012

    Комментарии (16)
  6. PHP / Говнокод #9307

    +167

    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
    <p class="last_pay">
                            <?if($arResult["history"]["PROPERTIES"]["payment10_date"]["VALUE"]):?>
                                 <?=$arResult["history"]["PROPERTIES"]["payment10_date"]["VALUE"]?> Произведен платеж на ... бла бла
                            <?else:?>
                                <?if($arResult["history"]["PROPERTIES"]["payment9_date"]["VALUE"]):?>
                                     <?=$arResult["history"]["PROPERTIES"]["payment9_date"]["VALUE"]?> Произведен платеж на сумму ... 
                                <?else:?>
                                    <?if($arResult["history"]["PROPERTIES"]["payment8_date"]["VALUE"]):?>
                                         <?=$arResult["history"]["PROPERTIES"]["payment8_date"]["VALUE"]?> Произведен платеж на сумму ... 
                                    <?else:?>
                                        <?if($arResult["history"]["PROPERTIES"]["payment7_date"]["VALUE"]):?>
                                             <?=$arResult["history"]["PROPERTIES"]["payment7_date"]["VALUE"]?> Произведен платеж на сумму  ... 
                                        <?else:?>
                                            <?if($arResult["history"]["PROPERTIES"]["payment6_date"]["VALUE"]):?>
                                                 <?=$arResult["history"]["PROPERTIES"]["payment6_date"]["VALUE"]?> Произведен платеж на сумму  ...
                                            <?else:?>
                                                <?if($arResult["history"]["PROPERTIES"]["payment5_date"]["VALUE"]):?>
                                                     <?=$arResult["history"]["PROPERTIES"]["payment5_date"]["VALUE"]?> Произведен платеж на сумму  ...
                                                <?else:?>
                                                    <?if($arResult["history"]["PROPERTIES"]["payment4_date"]["VALUE"]):?>
                                                         <?=$arResult["history"]["PROPERTIES"]["payment4_date"]["VALUE"]?> Произведен платеж на сумму  ... 
                                                    <?else:?>
                                                        <?if($arResult["history"]["PROPERTIES"]["payment3_date"]["VALUE"]):?>
                                                             <?=$arResult["history"]["PROPERTIES"]["payment3_date"]["VALUE"]?> Произведен платеж на сумму  ... 
                                                        <?else:?>
                                                            <?if($arResult["history"]["PROPERTIES"]["payment2_date"]["VALUE"]):?>
                                                                 <?=$arResult["history"]["PROPERTIES"]["payment2_date"]["VALUE"]?> Произведен платеж на сумму  ... 
                                                            <?else:?>
                                                                <?if($arResult["history"]["PROPERTIES"]["payment1_date"]["VALUE"]):?>
                                                                     <?=$arResult["history"]["PROPERTIES"]["payment1_date"]["VALUE"]?> Произведен платеж на сумму  ... 
                                                                <?else:?>
                                                                    Вы пока не производили платежи
                                                                <?endif;?>
                                                            <?endif;?>
                                                        <?endif;?>
                                                    <?endif;?>
                                                <?endif;?>
                                            <?endif;?>
                                        <?endif;?>
                                    <?endif;?>
                                <?endif;?>
                            <?endif;?>
                        <?endif;?>
     
                        </p>

    красиво

    SuperChel, 03 Февраля 2012

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

    +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
    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
    <ul>
        <?
        $AchievmentPoints = $opts->getAchievmentPoints();
        $dost='';
        $stat='';
        ?>
    
                
                
        <? foreach ($achievments as $id => $item): ?>
    <?
    
        
        ?>
         <?$dost.='<li style="width:100%;clear:both;" class="table1"><div class="table">
             <div style="width:35px;float:left;display:table-cell;text-align: right">'.$item->getImg().'
                  </div><div style="float:left;"><div><span class="caption">'.$item->caption.'
                     </span> <span class="small minor" style="font-size:14px;">('.$item->level.')
                         </span></div><div class="minor small" style="width:100%">'.$item->subtext.':
                             <span  class="ach"><span>'.$item->count.'</span><span>/'.$item->nextLevelCount().'
                                 </span></span></div></div></div><div style="height:40px;"></div></li>';?>
        <? endforeach; ?>
    <?
    $stat.='
        <li style="width:100%;clear:both;" class="table1"> 
        <p style="padding-top: -2px;margin-top: 7px;"></p>
        <div class="table">
            <div style="width:35px;float:left;display:table-cell;text-align: right">
                        <img width="16" height="16" src="/images/icons/achive_on.png" alt="o"/>  
                    </div>
            <div style="float:left;">
                <span class="caption">Получено</span>
                <span  class="ach">
                                <span>('.$getAchievmentPoints.')</span>
                            </span>
            </div></div></li>
    <li style="width:100%;clear:both;" class="table1"> <div class="table">
            <div style="width:35px;float:left;display:table-cell;text-align: right">
                        <img width="16" height="16" src="/images/icons/achive_off.png" alt="o"/>  
                    </div>
            <div style="float:left;">
                <span class="caption" >Не получено</span>
                            <span  class="ach">
                                <span>('.(count($achievments) - $AchievmentPoints).')</span>
                            </span>
            </div></div></li>
            <p style="padding-top: -2px;margin-top: 7px;"></p>
            <div class="eventlight" style="height:2px;width:100%;"></div>
    ';
    echo $stat.$dost;
    ?>
    <li style="width:100%;clear:both;" class="table1"> <div class="table">
            <div style="width:35px;float:left;display:table-cell;text-align: right">
                        <img width="16" height="16" src="/images/icons/achive_off.png" alt="o"/>  
                    </div>
            <div style="float:left;">
                <span class="caption" >Всего достижений:</span>
                            <span  class="ach">
                                <span>(<?= $AchievmentPoints;?>)</span>
                            </span>
            </div></div></li>
     
        </ul>

    Мой первый гомнокод :)

    kolko91, 02 Февраля 2012

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

    +121

    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
    class Program
    {
        static bool v1;
        static bool v2;
        static bool v3;
        static bool v4;
        //...
    
        static void Main()
        {
            getValues();
    
            if (v1)
            { }
            else
            {
                //Делаем раз
            }
            if (v2)
            { }
            else
            {
                //Делаем два
            }
            if (v3)
            { }
            else
            {
                //Делаем три
            }
            if (v4)
            { }
            else
            {
                //Делаем три с половиной
            }
        }
    
        static void getValues()
        {
            //Булевым переменным присваиваются значения из БД
        }
    }

    Один из студентов усердно выдавал такие конструкции. Логическое отрицание? Не, не слышал...

    vistefan, 31 Января 2012

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

    +159

    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
    function hash($password='', $unique_id=0)
        {
            $unique_id = $this-> unique_id();// by Lebnik: rand(0, time());
            $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
            $random_state = $unique_id;
            $random = '';
            $count = 6;
    
            //
            if (($fh = @fopen('/dev/urandom', 'rb')))
            {
                $random = fread($fh, $count);
                fclose($fh);
            }
    
            if (strlen($random) < $count)
            {
                $random = '';
    
                for ($i = 0; $i < $count; $i += 16)
                {
                    $random_state = md5($unique_id . $random_state);
                    $random .= pack('H*', md5($random_state));
                }
                $random = substr($random, 0, $count);
            }
    
            $hash = $this-> hash_crypt_private($password, $this-> hash_gensalt_private($random, $itoa64), $itoa64);
    
            if (strlen($hash) == 34)
            {
                return $hash;
            }
    
            return md5($password);
        }

    АД

    Tsukasa-mixer, 31 Января 2012

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

    +154

    1. 1
    http://habrahabr.ru/blogs/web_security/137196/

    Нанотехнологии в действии

    Spider, 28 Января 2012

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

    +166

    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
    if ($id == 1) {
        $source = 'GallerySkins/s/skin_01.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 2) {
        $source = 'GallerySkins/s/skin_02.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 3) {
        $source = 'GallerySkins/s/skin_03.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 4) {
        $source = 'GallerySkins/s/skin_04.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 5) {
        $source = 'GallerySkins/s/skin_05.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 6) {
        $source = 'GallerySkins/s/skin_06.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 7) {
        $source = 'GallerySkins/s/skin_07.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 8) {
        $source = 'GallerySkins/s/skin_08.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 9) {
        $source = 'GallerySkins/s/skin_09.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 10) {
        $source = 'GallerySkins/s/skin_10.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 11) {
        $source = 'GallerySkins/s/skin_11.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 12) {
        $source = 'GallerySkins/s/skin_12.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }

    Разгребал систему скинов и наткнулся на это... даже не знаю, как это чудо назвать.
    Заменяется элементарным
    $source = 'GallerySkins/s/skin_'.$id.'.png'; // Исходная директория файла
    $dest = "MinecraftSkins/$user.png"; // Конечная директория файла

    if(!copy($source, $dest)) // Если файл не скопирован:
    {
    echo "Ошибка<br />\n";
    }

    FanAs, 28 Января 2012

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