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

    В номинации:
    За время:
  2. 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)
  3. PHP / Говнокод #5447

    +146

    1. 1
    2. 2
    3. 3
    public function loadClass($class) {
    		return class_exists($class)||interface_exists($class)||($this->load($this->findClass($class))&&(class_exists($class)||interface_exists($class)));		
    	}

    прямиком из IDE. "Оптимизация" из разряда "лучшее - враг хорошего".
    Не знаю, сочтет ли публика говнокодом, но, на мой взгляд, лучше оное записать не в одну строчку.

    Lure Of Chaos, 30 Января 2011

    Комментарии (141)
  4. bash / Говнокод #28931

    0

    1. 1
    cat a.txt b.txt > a.txt

    Тред отсоса прыщеблядей.

    Срать тут ↓ ↓ ↓

    3_dar, 20 Марта 2024

    Комментарии (140)
  5. JavaScript / Говнокод #27573

    +2

    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
    type int = 1;
    
    function makeRangeIterator(start = 0, end = 10000, step = 1) {
        print("makeRangeIterator.");
    
        let nextIndex = start;
        let iterationCount = 0;
    
        const rangeIterator = {
    	next() {
                let result: [value: int, done: boolean];
                if (nextIndex < end) {
                    result = [nextIndex, false];
                    nextIndex += step;
                    iterationCount++;
                    return result;
                } else {
                    result = [iterationCount, true];
                }
    
                return result;
            },
        };
    
        return rangeIterator;
    }
    
    function main() {
        let it = makeRangeIterator(1, 10, 2);
    
        let result = it.next();
        while (!result.done) {
            print(result.value); // 1 3 5 7 9
            result = it.next();
        }
    
        print("done.");
    }

    Ну вот и все... позвольте мне представить самый сложный кусок когда либо компилированный моей программой. но ввиду того что "трамплины" хрен знает как работают то придется этот код "забанить" до лучших времен. Но он рабочий

    ASD_77, 16 Августа 2021

    Комментарии (140)
  6. Python / Говнокод #25805

    −2

    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
    connect_attempt = 0
    		while True:
    			try:
    				r = requests_method(**kwargs)
    			except Exception as e:
    				if connect_attempt < cls.CONNECT_ATTEMPT_MAX:
    					connect_attempt += 1
    				else:
    					connect_attempt = 0
    					switchNext('Bad proxy')
    				
    				continue
    			
    			connect_attempt = 0
    			if cls.re_captcha.search(r.text):
    				switchNext('Capthca')
    				continue
    			return r

    Отрывок из прокси свитчера для моего парсера.
    try except в цикле - это плохо?

    OlegUP, 04 Сентября 2019

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

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public MyVirtualMachine(URL uri, String name, String username,
                String password) throws RemoteException, MalformedURLException {
    
    ...
    
              if (!name.equalsIgnoreCase(name)) {
                       continue;
              }
    }

    Использование одного и того же поля name при сравнении.
    http://wernerstrydom.com/2013/04/14/a-helper-class-to-manage-a-virtual-machine-in-vmware-vsphere-hypervisor-5-1/

    seriousden, 19 Ноября 2014

    Комментарии (140)
  8. Куча / Говнокод #11978

    +132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    main = do
            print [1 .. 9]
            print [1, 3 .. 9]
            print [1, 3 .. 10]
            print [26.0, 26.2 .. 27.0]
            print [25.5..30.0]
            print [25, 25 .. 25]

    В хаскеле сломан генератор списков. :(
    http://ideone.com/AvBSuz

    HaskellGovno, 22 Октября 2012

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

    +1003

    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
    namespace ExtensionMethods
    {
        public static class MyExtensions
        {
            public static int WordCount(this String str)
            {
                return str.Split(new char[] { ' ', '.', '?' }, 
                                 StringSplitOptions.RemoveEmptyEntries).Length;
            }
        }   
    }
    ....
    string s = "Hello Extension Methods";
    int i = s.WordCount();

    http://msdn.microsoft.com/en-us/library/bb383977.aspx

    In your code you invoke the extension method with instance method syntax. However, the intermediate language (IL) generated by the compiler translates your code into a call on the static method. Therefore, the principle of encapsulation is not really being violated. In fact, extension methods cannot access private variables in the type they are extending.

    Синтаксический сахар. Бессмысленный и беспощадный.
    Ждк, когда шарпоблядки уже начнут дохнуть от диабета.

    3.14159265, 26 Ноября 2011

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Помните шутку про 1С/C++/CSH программиста?
    Так вот: парень хочет работать с COM портом, но почему-то COM объект в Windows не создается.
    
    
    https://phpclub.ru/talk/threads/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-failed-to-create-com-object.86770/

    MAKAKA, 21 Мая 2020

    Комментарии (139)
  11. Си / Говнокод #24557

    +2

    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
    http://faqs.org.ru/progr/c_cpp/watcom_c.htm
    
                    WATCOM C/C++ FAQ
    
                       version 3.0
                       29 Aug 1998
    
            compiled by Lenik Terenin, 2:5061/1
    
    Maintained by Cyril Pertsev, 2:5020/1415.1
    Please send your additions and suggestions to the above address.
    
    Для удобства потpебления данного текста
    добавления выделены символом квотинга
    
    ...
    
    > Q: Гpафическая библиотека ваткома отказывается пеpеключать pежимы/банки
    > или делает это кpиво
    
    >A: В результате ковыряния в библиотеке выяснилось, что криворукие
    >ваткомовцы
    >совершенно не задумываются ни о какой переносимости и универсальности их
    >библиотек. В результате, если видео-карта имеет в биосе прошитое имя
    >производителя или другую информацию о нем, то для нее будет вызываться
    >вместо
    >функции переключения банков через VESA, другая функция, работающая с
    >картой
    >напрямую (иногда даже через порты).
    >Единственная проблема, что у каждого производителя (ATI, в моем случае),
    >рано
    >или поздно выходят новые и продвинутые карты, раскладка портов в которых
    >может
    >отличаться от той, которая использовалась в старых моделях. В результате,
    >все
    >это свинство начинает глючить и иногда даже виснуть.
    >После того, как я руками заткнул ему возможность использовать "родные"
    >фишки
    >для конкретной карты и прописал пользоваться только VESA -- все работает
    >как из
    >пушки ;))
    >Как затыкать -- а просто, есть переменная: _SVGAType, которую я
    >описывается
    >следующим образом: "extern "C" int _SVGAType;", и потом _перед_ (важно!)
    >вызовом _setvideomode нужно сказать "_SVGAType = 1;".

    Люблю читать несвежие FAQ.

    Сегодня-то такого не встретишь, чтобы кто-то прямо в порты в видеокарту что-то писал, эхх...

    j123123, 31 Июля 2018

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