1. C# / Говнокод #7712

    +965

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    string[] val = ...;
    if (val.Length > 0)
    {
        return val[1];
    }
    else
        return string.Empty;

    IndexOutOfRangeException

    Eugene, 31 Августа 2011

    Комментарии (15)
  2. Java / Говнокод #7711

    +76

    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
    public class Sorting {  
    
        private static void swapElements(int[] arr, int index1, int index2) {
            int temp = arr[index1];
            arr[index1] = arr[index2];
            arr[index2] = temp;
        }
    
        public static void mergeSort(int[] arr) {
            if (arr.length == 1) {
                return;
            }        
            final int temp = (arr.length % 2 == 0) ? arr.length / 2 : (arr.length + 1) / 2;
    
            int[] left = new int[temp];
            int[] right = new int[arr.length / 2];
            System.arraycopy(arr, 0, left, 0, temp);
            System.arraycopy(arr, temp, right, 0, arr.length / 2);
    
            Sorting.mergeSort(left);
            Sorting.mergeSort(right);
            Sorting.mergeSortHelper(arr, left, right);
        }
    
        private static void mergeSortHelper(int[] arr, int[] left, int[] right) {
            int L = 0, R = 0;
            boolean Ltop = false, Rtop = false;
    
            for (int i = 0; i < arr.length; i++) {
                if (L < left.length - 1 && R < right.length - 1) {
                    if (left[L] <= right[R]) {
                        arr[i] = left[L];
                        L++;
                    } else {
                        arr[i] = right[R];
                        R++;
                    }
                } else if ((L == left.length - 1) ^ (R == right.length - 1)) {
                    if (L == left.length - 1) {
                        if ((left[L] <= right[R]) && !Ltop) {
                            arr[i] = left[L];
                            Ltop = true;
                        } else {                        
                            arr[i] = right[R];
                            R++;
                        }
                    } else {
                        if ((right[R] <= left[L]) && !Rtop) {
                            arr[i] = right[R];
                            Rtop = true;
                        } else {                        
                            arr[i] = left[L];
                            L++;
                        }
                    }
                } else {
                    if (i < arr.length - 1) {
                        arr[i] = (left[L] < right[R]) ? left[L] : right[R];                    
                    } else {                    
                        arr[i] = (left[L] > right[R]) ? left[L] : right[R];
                    }
                }
            }        
        }

    Реализация сортировки слиянием на Java

    kaspvar, 31 Августа 2011

    Комментарии (43)
  3. ActionScript / Говнокод #7710

    −109

    1. 1
    for (var i:int = 0; i < _levelingScores[i]; i++)

    Три дня багу искал :D Подумываю сходить к доктору.

    crazy_horse, 31 Августа 2011

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

    +963

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    private void SetStat(QALog stat, ArtIntLnkLog log)
        {
            stat.AllLinks += 1;
            if (log.Command == 5)
                stat.ErrLinks += 1;
            if (log.Command == 1)
                stat.SetLinks += 1;
            if (log.Command == 2)
                stat.ReSetLinks += 1;
        }

    Такое вот чудное обновление статистики, где константы, switch и инкрементация непонятно.

    f5f3e9, 31 Августа 2011

    Комментарии (12)
  5. PHP / Говнокод #7708

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function getCountComment($ent_id = null)
    {
        if(empty($ent_id))
        {
            return false;
        }
    ...
    }

    123qweasdzxc, 30 Августа 2011

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function showEntry($name)
    {
        if(empty($name))
        {
             return false;
             break;
        }
    ...
    }

    123qweasdzxc, 30 Августа 2011

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

    +168

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php  
    function makestime($string) {  
    
    $day=floor($string/86400);  
    $hours=floor(($string/3600)-$day*24);  
    $min=floor(($string-$hours*3600-$day*86400)/60);  
    $sec=$string-($min*60+$hours*3600+$day*86400);  
    
    return $day.' дн. '.$hours.':'.$min.':'.$sec;  
    }  
    ?>

    Перевод секунд в дни
    Функция из WAP-MotoR CMS.
    Воистину, язык программирования дат.

    7ion, 30 Августа 2011

    Комментарии (15)
  8. ActionScript / Говнокод #7705

    −124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if(!flashVarsPriority) //Если данные из конфига приоритетнее флешварсов
    	saveFlashVars(flashVars);
    
    //Тут парсим XML конфиг
    ...
    //много строк
    
    if(flashVarsPriority) //если флешварсы приоритетнее
    	saveFlashVars(flashVars);

    Werdn, 30 Августа 2011

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

    +168

    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
    Функция Антимата
    
    
    <?php  
    //Маты записываёте в antmat.dat 
    function antimat($msg) {  
    if (file_exists("antimat.dat")) {  
    $mat = file_get_contents("antimat.dat");  
    $arr_mat = explode("|",$mat);  
    foreach($arr_mat as $value) {  
    if($value != "") {  
    $msg = preg_replace("|$value|iu","***",$msg);  
    }}}  
    return $msg;  
    }  
    ?>

    И заходишь на любой форум про похапе
    @
    И копируешь на говнокод всю тему "полезные функции"

    7ion, 30 Августа 2011

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

    +154

    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
    <?php 
    function crypt_apr1_md5($plainpasswd) { 
        $salt = substr(str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789"), 0, 8); 
        $len = strlen($plainpasswd); 
        $text = $plainpasswd.'$apr1$'.$salt; 
        $bin = pack("H32", md5($plainpasswd.$salt.$plainpasswd)); 
        for($i = $len; $i > 0; $i -= 16) { $text .= substr($bin, 0, min(16, $i)); } 
        for($i = $len; $i > 0; $i >>= 1) { $text .= ($i & 1) ? chr(0) : $plainpasswd{0}; } 
        $bin = pack("H32", md5($text)); 
        for($i = 0; $i < 1000; $i++) { 
            $new = ($i & 1) ? $plainpasswd : $bin; 
            if ($i % 3) $new .= $salt; 
            if ($i % 7) $new .= $plainpasswd; 
            $new .= ($i & 1) ? $bin : $plainpasswd; 
            $bin = pack("H32", md5($new)); 
        } 
        for ($i = 0; $i < 5; $i++) { 
            $k = $i + 6; 
            $j = $i + 12; 
            if ($j == 16) $j = 5; 
            $tmp = $bin[$i].$bin[$k].$bin[$j].$tmp; 
        } 
        $tmp = chr(0).chr(0).$bin[11].$tmp; 
        $tmp = strtr(strrev(substr(base64_encode($tmp), 2)), 
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", 
        "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); 
        return "$"."apr1"."$".$salt."$".$tmp; 
    } 
    ?>

    Кручу-верчу, запутать хочу!

    7ion, 30 Августа 2011

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