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

    В номинации:
    За время:
  2. Куча / Говнокод #16549

    +128

    1. 1
    2. 2
    isParallel :: Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> Bool
    isParallel x1 y1 x2 y2 x3 y3 x4 y4 = if (((x1-x2)*(y3-y4)-(y1-y2)*(x3-x4)) == 0) then True else False

    лаба по хаски
    параллельны ли 2 прямые?

    kegdan, 16 Августа 2014

    Комментарии (143)
  3. Куча / Говнокод #16305

    +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
    Викиучебник по хаскелю такой викиучебник
    
    Задание - написать frequency — функция, возвращающая список пар (символ, частота). Каждая пара определяет атом из заданного списка и частоту его вхождения в этот список.
    
    Решение 
    
    frequency :: [a] -> [(a : Integer)]
    frequency l = f [] l
    
    f :: [a] -> [a] -> [(a : Integer)]
    f l []    = l
    f l (h:t) = f (corrector h l) t
    
    corrector :: a -> [a] -> [(a : Integer)]
    corrector a []      = [(a : 1)]
    corrector a (a:n):t = (a : (n + 1)) : t
    corrector a h:t     = h : (corrector a t)
    
    Логика-то верна, но код тупо не скомпилится. И как тут быть нубцу? 
    
    
    
    Задание - Описать следующие классы типов. При необходимости воспользоваться механизмом наследования классов.
    Show — класс, объекты экземпляров которого могут быть выведены на экран.
    
    Думаю что-то мегасложное, сделать самому руками show
    
    Решение 
     
    class Show a where
      show :: a -> String
    
    /-*)

    Викиучебник по хаскелю такой викиучебник

    kegdan, 11 Июля 2014

    Комментарии (143)
  4. Kotlin / Говнокод #26591

    0

    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
    enum class Measures {
        B, KB, MB, GB;
    
        private val size = BigDecimal.valueOf(1024L).pow(ordinal)
    
        companion object {
            fun toHumanSize(value: Long): String {
                val decValue = value.toBigDecimal()
                val measure = values().reversed().find { it.size < decValue } ?: B
                return "${decValue.divide(measure.size, 3, RoundingMode.UP)} $measure"
    
            }
        }
    }

    MAKAKA, 20 Апреля 2020

    Комментарии (142)
  5. Java / Говнокод #15650

    +78

    1. 1
    2. 2
    3. 3
    wb.getApplication().run(macro, null, null, null, null, null, null, null, null, null, null, null,
            null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
            null, null, null, null);

    Использование библиотеки для взаимодействия с мелкософтовскими COM-объектами

    evg_ever, 02 Апреля 2014

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

    +165

    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
    function register()
    {
        if (!empty($_POST)) {
            $msg = '';
            if ($_POST['user_name']) {
                if ($_POST['user_password_new']) {
                    if ($_POST['user_password_new'] === $_POST['user_password_repeat']) {
                        if (strlen($_POST['user_password_new']) > 5) {
                            if (strlen($_POST['user_name']) < 65 && strlen($_POST['user_name']) > 1) {
                                if (preg_match('/^[a-z\d]{2,64}$/i', $_POST['user_name'])) {
                                    $user = read_user($_POST['user_name']);
                                    if (!isset($user['user_name'])) {
                                        if ($_POST['user_email']) {
                                            if (strlen($_POST['user_email']) < 65) {
                                                if (filter_var($_POST['user_email'], FILTER_VALIDATE_EMAIL)) {
                                                    create_user();
                                                    $_SESSION['msg'] = 'You are now registered so please login';
                                                    header('Location: ' . $_SERVER['PHP_SELF']);
                                                    exit();
                                                } else $msg = 'You must provide a valid email address';
                                            } else $msg = 'Email must be less than 64 characters';
                                        } else $msg = 'Email cannot be empty';
                                    } else $msg = 'Username already exists';
                                } else $msg = 'Username must be only a-z, A-Z, 0-9';
                            } else $msg = 'Username must be between 2 and 64 characters';
                        } else $msg = 'Password must be at least 6 characters';
                    } else $msg = 'Passwords do not match';
                } else $msg = 'Empty Password';
            } else $msg = 'Empty Username';
            $_SESSION['msg'] = $msg;
        }
        return register_form();
    }

    Из рассылки PHPWeekly: "A Clean and Secure Open Source PHP Login Script"
    https://github.com/panique/php-login/blob/master/0-one-file/index.php#L98

    Что-то уж очень сильно "Clean".

    brevis, 29 Августа 2013

    Комментарии (142)
  7. Perl / Говнокод #11489

    −136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    sub parse_http_date($)
    {
    	my ($date)=@_;
    	my %months=(Jan=>0,Feb=>1,Mar=>2,Apr=>3,May=>4,Jun=>5,Jul=>6,Aug=>7,Sep=>8,Oct=>9,Nov=>10,Dec=>11);
    
    	if($date=~/^[SMTWF][a-z][a-z], (\d\d) ([JFMASOND][a-z][a-z]) (\d\d\d\d) (\d\d):(\d\d):(\d\d) GMT$/)
    	{ return eval { timegm($6,$5,$4,$1,$months{$2},$3-1900) } }
    
    	return undef;
    }

    Вакаба.

    7ion, 28 Июля 2012

    Комментарии (142)
  8. Си / Говнокод #3599

    +142

    1. 1
    enum {size = 10, timeout = 50};

    vovochka, 30 Июня 2010

    Комментарии (142)
  9. Си / Говнокод #29120

    0

    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
    #include <stdio.h>
    #include <stddef.h>
    #include <stdlib.h>
    #include <limits.h>
    
    int gcc_rtm_virt_test(int a, int(*f)(int, int(*)(), float*), float fa[static (-1,0,1)]) {
        short s = sizeof (short) + sizeof 0;
        char b[12] = "0123456789";
    
        for (long ll = sizeof b; ll -= 4;) {
            b[ll]   = '0';
            b[ll-1] = '1';
            b[ll-2] = '2';
            b[ll-3] = '3';
        }
    
        return s - ((1 << 2) - (b[0] - '2'));
    }
    
    int gcc_rtm_cf32(int(*f0)(), int(*f1)()) {
        ptrdiff_t d = f1 - f0;
        // guess you know what you're doing
        if (! (d >> sizeof (ptrdiff_t) * CHAR_BIT - 1)) { 
            while (d--) {
                switch(*(unsigned short*)(f0 + d)) {
                    case 0xc3c9:
                        return 0;
                    case 0xb8:
                        if (!*(unsigned int*)(f0 + d + 1)) {
                            return 1;
                        } 
                        break;
                    case 0xC031:
                        return 2;
                }
            }
            return -1;
        };
    
        return -2;
    }
    
    int main() {
    
        switch (gcc_rtm_cf32(gcc_rtm_virt_test, gcc_rtm_cf32)) {
            case -1:
                fprintf(stderr, "Hey, added smth. special? Maybe -Og? \n"), abort();
                break;
            case 0:
                fprintf(stderr, "Hey, -O0 smells like a dead rat.. check your flags!\n"), abort();
                break;
            case 1:
                fprintf(stderr, "Hey, -O1 is still not allowed.. Would you do better?\n"), abort();
                break;
            case 2:
                fprintf(stdout, "Hey, finally you've captured [-O2 || -O3 || -Ofast || -Os] flag!");
                break;
            default:
                fprintf(stderr, "Hey, looks like you've got impl. defined crap, check PTRDIFF_T stuff.. \n"), abort();
                break;
        };
    
    }

    И далее по тексту..gcc'шники опять обкурились в рантайме. Зачэм так делоть, это прикольно?

    BCHARa, 10 Апреля 2025

    Комментарии (141)
  10. Куча / Говнокод #28530

    0

    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
    table inet filter {
        set open_ports {
            type inet_proto . inet_service
            counter
            elements = { tcp . 123 counter packets 0 bytes 0,
                     udp . 123 counter packets 0 bytes 0,
                     tcp . 456 counter packets 0 bytes 0,
                     tcp . 567 counter packets 0 bytes 0 }
        }
    
        chain input {
            type filter hook input priority filter; policy drop;
            iifname "eth*" ct state established,related accept
            iifname "eth*" ct state invalid drop
            iifname "eth*" ct state new meta l4proto . th dport @open_ports accept
        }
    }

    «nftables» — охуенны.

    ISO, 30 Декабря 2022

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

    −4

    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
    <p>8. Создать гостевую книгу, где любой человек может оставить комментарий в текстовом поле и
        добавить его. Все добавленные комментарии выводятся над текстовым полем. Реализовать
        проверку на наличие в тексте запрещенных слов, матов. При наличии таких слов - выводить
        сообщение "Некорректный комментарий". Реализовать удаление из комментария всех тегов,
        кроме тега &lt;b&gt;.
    </p>
    
    <?php
    if (!is_file('otzyvy.txt')) {
        echo "Поки що немає відгуків, Ваш буде першим! <br />";
        $file = fopen('otzyvy.txt', 'a+');//щоб не генерувало помилку, створюємо файл
    }
    elseif (isset($_POST['textar']) && $_POST['textar']) {
        $file = fopen('otzyvy.txt', 'a+');//дублюємо строку так як тут інша умова
        $text = strip_tags($_POST['textar'], '<b>');
    
        $pozition = strpos($text, 'хуй');
        $pozition_1 = strpos($text, 'пизд');
        if ($pozition || $pozition === 0 || $pozition_1 || $pozition_1 === 0){
            die ("Некорректный комментарий");
        }
        $new_otzyvy = fwrite($file, $text.PHP_EOL);
        $arr = file('otzyvy.txt');//перетворюємо файл у масив щоб потім було зручніше виводити його елементи
        foreach ($arr as $key => $item) {
            $key_1 = $key + 1;//це для візуалбної нумерації відгуків
            echo "Відгук {$key_1}: {$item} <br /><br />";
        }
    }
    else {
        echo 'Щоб відправити відгук, потрібно заповнити поле форми!!!';
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Задача 8</title>
    </head>
    <body>
    <form action="" method="post">
        <textarea name="textar" placeholder="Введіть свій коментарій"></textarea>
        <br />
        <input type="submit" value="Відправити">
    </form>
    <br />
    <br />
    </body>
    </html>

    3_dar, 02 Марта 2016

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