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

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

    +53

    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
    <?php $args = array(  
            'type'                     => 'post'  
            ,'child_of'                 => 0  
            ,'parent'                   => ''  
            ,'orderby'                  => 'name'  
            ,'order'                    => 'ASC'  
            ,'hide_empty'               => 1  
            ,'hierarchical'             => 1  
            ,'exclude'                  => ''  
            ,'include'                  => ''  
            ,'number'                   => 0  
            ,'taxonomy'                 => 'category'  
            ,'pad_counts'               => false );?> 
    
    http://wp-kama.ru/function/get_categories

    взял тут: http://wp-kama.ru/function/get_categories

    Видимо у него в учебнике так было:

    У лукоморья дуб зелёный
    ;Златая цепь на дубе том
    :И днём и ночью кот учёный
    Всё ходит по цепи кругом
    ;Идёт направо - песнь заводит
    ,Налево - сказку говорит
    ...

    А.С. Пушкин

    irvis, 13 Июня 2012

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

    −122

    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
    #!/usr/bin/perl
    use strict;
    
    # немного настроек
    my $url = "http://govnokod.ru/comments";
    my $min_delay = 2*60;
    my $max_delay = 30*60;
    my $delay_slowdown = 2;
    
    # получение идентификатора последнего коммента
    sub get_last_comment_info {
        print STDERR "Checking for the new comments...\n";
        my @content = `curl "$url" 2>/dev/null`;
        my $s = join(' ', @content);
        if ($s =~ /<a href=".*?\/(\d+)#comment(\d+)"/) {
            print STDERR "Last comment id was $2 in the thread $1\n";
            return ("thread" => $1, "comment" => $2);
        }
        print "Can't get new comments\n";
        return ();
    }
    
    # отправка сообщения
    sub notify {
        my ($id) = @_;
        print STDERR "Sending notify about $id\n";
        `notify-send "Кто-то наложил в $id"`;
    }
    
    my $last_id = undef;
    my $delay = $min_delay;
    while (1) {
        # смотрим есть ли новый коммент
        if (my %r = get_last_comment_info()) {
            if (defined($last_id) && $r{"comment"} > $last_id) {
                $delay = $min_delay;
                notify($r{"thread"});
            }
            $last_id = $r{"comment"};
        }
        # спим
        print STDERR "Sleeping for $delay seconds...\n";
        sleep($delay);
        # пересчитываем задержку
        $delay = $delay * $delay_slowdown;
        $delay = $max_delay if ($delay > $max_delay);
    }

    Говноскрипт для мониторинга сточных вод.

    bormand, 27 Мая 2012

    Комментарии (43)
  4. JavaScript / Говнокод #9118

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $(function()
    	{
    		$(function(){
    // что-то
    		});
    	}
    	);

    Lure Of Chaos, 15 Января 2012

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

    +87

    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
    procedure GenerateMines; // Процедура генерации мин
    label
    again;
    var
    t,m:Integer; // Переменные для цикла
    i,j:Byte; // Координаты на поле
    bufer:String; // Вспомогательная переменная цикла. Хранит текущие сгенерированные координаты мины для записи в массив
    begin
    Randomize;
    for t:= 1 To mines Do
    begin
    again:
      i:=Round(Random*9+1);
      j:=Round(Random*9+1);
      bufer:=IntToStr(i) + ',' + IntToStr(j); // Создание строковой записи коордитаты мины
      for m:= 1 To 100 Do // Цикл для проверки, есть ли сгенерированная координата в массиве
      begin
        if bufer = mines_a[m] then goto again; // Если сгенерированная координата в массиве есть, то программа генерирует новые координаты
      end;
      mines_a[t]:=bufer; // Запись новой координаты в массив
      field[i,j]:=9; // Добавление мины на поле в сгенерированные координаты
    end;
    end;

    Процедура генерации мин в сапёре. Говно или не?

    SmseR, 10 Января 2012

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

    +165

    1. 1
    $idlink = rawurlencode(base64_encode($name . "||" . $email . "||" . md5( $password1 ) . "||" . $accountID_1 . "||" . $accountID_2 . "||" . $accountID_3 . "||" . $serverid_1 . "||" . $serverid_2 . "||" . $serverid_3 . "||" . md5( sha1( $name . $email . DBHOST . DBNAME . $config['key'] ) ) ) );

    Значит так, ребята. Готовьтесь воспринимать. Данные с регистрационной формы кодируются как только можно, потом с этим кодом генерируется ссылка и отправляется письмо с подтверждением регистрации. Когда новый пользователь переходит по ссылочке, данные берутся из базы, снова кодируются и сравниваются с кодом из ссылки.

    Пы.Сы. Код не мой

    kindofbear, 18 Октября 2011

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

    +73

    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
    static class CheckBoxCellRenderer extends JCheckBox implements ListCellRenderer {
    
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
            if (value instanceof CheckBoxListElement) {
                CheckBoxListElement cblel = (CheckBoxListElement) value;
                if (isSelected) {
                    setBackground(list.getSelectionBackground());
                    setForeground(list.getSelectionForeground());
                }
                else {
                    setBackground(list.getBackground());
                    setForeground(list.getForeground());
                }
                setSelected(cblel.isSelected());
                setText(cblel.getText());
                return this;
            }
            else {
                throw new RuntimeException();
            }
        }
            
    }

    Модель просто не должна быть другой...

    dwinner, 28 Сентября 2011

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    void crash()
    {
        (( void(*)() )0)();
    }

    Good crash :D

    petersvp, 11 Сентября 2011

    Комментарии (43)
  9. 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)
  10. Java / Говнокод #7547

    +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
    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
    class PseudoVamp {
    	public int num;
    	public boolean truevamp = false;
    	public int x;
    	public int y;
    	public int n1;
    	public int n2;
    	public int n3;
    	public int n4;
    
    	void breaknsort() {
    		n1 = num % 10;
    		n2 = num / 10 % 10;
    		n3 = num / 100 % 10;
    		n4 = num / 1000;
    		int tmp;
    		for (int i = 0; i < 4; i++) {
    			if (n1 > n2) {
    				tmp = n1;
    				n1 = n2;
    				n2 = tmp;
    			}
    
    			if (n2 > n3) {
    				tmp = n2;
    				n2 = n3;
    				n3 = tmp;
    			}
    
    			if (n3 > n4) {
    				tmp = n3;
    				n3 = n4;
    				n4 = tmp;
    			}
    		}
    	}
    
    	public PseudoVamp(int a, int b) {
    		x = a;
    		y = b;
    		num = x * y;
    		breaknsort();
    	}
    }
    
    public class Test {
    
    	static void checkvamp(PseudoVamp vamp) {
    		int x1 = vamp.x % 10;
    		int x2 = vamp.x / 10;
    
    		int y1 = vamp.y % 10;
    		int y2 = vamp.y / 10;
    
    		int tmp;
    		for (int i = 0; i < 4; i++) {
    			if (x1 > x2) {
    				tmp = x1;
    				x1 = x2;
    				x2 = tmp;
    			}
    
    			if (x2 > y1) {
    				tmp = x2;
    				x2 = y1;
    				y1 = tmp;
    			}
    
    			if (y1 > y2) {
    				tmp = y1;
    				y1 = y2;
    				y2 = tmp;
    			}
    		}
    		if (vamp.n1 == x1 && vamp.n2 == x2 && vamp.n3 == y1 && vamp.n4 == y2)
    			vamp.truevamp = true;
    	}
    
    	public static void main(String[] args) {
    		for (int i = 11; i < 100; i++) {
    			for (int j = 11; j < 100; j++) {
    				PseudoVamp v = new PseudoVamp(i, j);
    				if (v.num < 1000)
    					continue;
    				if (v.num > 9999)
    					return;
    				checkvamp(v);
    				if (v.truevamp)
    				System.out.println(v.x + " * " + v.y + " = " + v.num);
    			}
    		}
    	}
    }

    A vampire number has an even number of digits and is formed by multiplying a pair of numbers containing half the number of digits of the result. The digits are taken from the original number in any order. Pairs of trailing zeroes are not allowed. Examples include:
    1260 = 21 * 60
    1827 = 21 * 87
    2187 = 27 * 81
    Write a program that finds all the 4-digit vampire numbers.
    w/o using of arrays.

    ch0sen, 15 Августа 2011

    Комментарии (43)
  11. JavaScript / Говнокод #6672

    +160

    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
    if (__captcha.ammount > 0) {
        var captcha = new Array();
        
        for (var i in __captcha.queue) {
            captcha = __captcha.queue[i];
            delete __captcha.queue[i];
            break;
        }
        
        __captcha.ammount--;
        __update();
        
        return captcha;
    }

    w100, 14 Мая 2011

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