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

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

    +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
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    <table>       
            <?php 
            $showShowroomsIds =  array();
            foreach($available_sizes as $sizeName):
            $available  =  false;
            foreach($warehouses as $warehouse) :
                $uuid = $warehouse['uuid'];
                $name = $warehouse['name'];
                $quantity = $size_quantity[$uuid][trim($sizeName)];
                if($quantity >0) {
                    $available  =  true;
                }
            endforeach;
            if(!$available) continue;
            ?>
            <?php
            foreach($warehouses as $warehouse) :
            $uuid = $warehouse['uuid'];
            //echo $uuid."<br>";
            
            if(isset($showrooms[$uuid])) {
                $showShowroomsIds[$uuid] = $uuid;
            }
            
            $name = $warehouse['name'];
            $quantity = $size_quantity[$uuid][trim($sizeName)];
            if($quantity) {
                $eshopAvailable = '';
                if($uuid == $eshopUuid && $quantity > 0) $eshopAvailable = 'eshop_available=\'y\'';
                $quantity  = ModelCommonWarehouse::getFormattedQuantity($quantity,$uuid);
                $qtA  =  "";
            } else {
                continue;
                $qtA  =  "not-available";
                $quantity  =  "нет в наличии";
            }
            ?>
            <tr <?php echo $eshopAvailable?> available='y'>
                <td class="td">
                    <?php if(isset($showrooms[$uuid])):?><a href="#" class="showroom-info"  uuid="<?php echo $uuid;?>" icId="uuid" rel="nofollow"><?php endif;?>
                    <?php echo $name?>
                    <!--<?php echo $uuid;?>-->
                    <?php if(isset($showrooms[$uuid])):?></a><?php endif;?>
                </td>
                <td class="qt <?php echo $qtA;?>"   ><?php echo $quantity;?></td>
            </tr>
            <?php endforeach;?>
            <tr>
                <td style="height: 10px;"></td>
            </tr>
            <?php endforeach;?>
        </table>

    Opencart. Прямо во вьюхе ровным слоем размазаны бизнес-логика и js.
    Что самое интересное, оборот магазина составляет 7 млн. руб (о__О)

    Panda, 13 Июля 2016

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

    +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
    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
    // p2.cpp : Defines the entry point for the console application.
    //   Язык Visual C++ 7.0
    //   Консольное приложение
    //   13.07.2016
    
    #include "stdafx.h"
    #include <conio.h>
    
    int aa (int, int, int);
    void ab (int);
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int a, b, c, d, e;
    	int f;
    
    	for (a = 0; a < 4; a++)
    		for (b = 0; b < 4; b++)
    			for (c = 0; c < 4; c++)
    				for (d = 0; d < 4; d++)
    					for (e = 0; e < 4; e++)
    					{
    						f = aa (1, a, 2);
    						f = aa (f, b, 3);
    						f = aa (f, c, 4);
    						f = aa (f, d, 5);
    						f = aa (f, e, 6);
    
    						if (f == 35)
    						{
    							printf ("((((1 "); ab (a);
    							printf ("2) "); ab (b);
    							printf ("3) "); ab (c);
    							printf ("4) "); ab (d);
    							printf ("5) "); ab (e);
    							printf ("6 = 35.\n");
    						}
    					}
    
    	getch ();
    	return 0;
    }
    
    
    int aa (int a, int b, int c)
    {
    	switch (b)
    	{
    		case 0: return a + c;
    		case 1: return a - c;
    		case 2: return a * c;
    		case 3: return a / c;
    	}
    
    	return 0;
    }
    
    void ab (int a)
    {
    	switch (a)
    	{
    		case 0: printf ("+ "); break;
    		case 1: printf ("- "); break;
    		case 2: printf ("* "); break;
    		case 3: printf ("/ "); break;
    	}
    }

    Задача: В написанном выражении ((((1 ? 2) ? 3) ? 4) ? 5) ? 6 вместо каждого знака ? вставить знак одного из четырёх арифметических действий: +, -, *, / так, чтобы результат вычислений равнялся 35.

    FrontlineReporter, 13 Июля 2016

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

    +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
    function implode() {
        $str = '';
        if(func_num_args()==1) {
            $array  = (is_array(func_get_arg(0))) ? func_get_arg(0) : false;
            $symbol = '';
        } elseif(func_num_args()==2) {
            $array = (is_array(func_get_arg(0))) ? func_get_arg(0): func_get_arg(1);
            $symbol = (!is_array(func_get_arg(0))) ? func_get_arg(0) : func_get_arg(1);
        } else {
            return false;
        }
        if($array===false) {
            return false;
        } else {
            foreach($array as $k=>$v) {
                if(is_array($v)) {
                    return false;
                } else {
                    $str = $str.$symbol.$v;
                }
            }
        return $str;
        }
    }

    Свой аналог функции implode. И такое бывает

    McLotos, 11 Июля 2016

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

    +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
    #include <iostream>
    #include <stdexcept>
    
    using namespace std;
    
    class Exception : std::runtime_error
    {
    public:
        Exception( std::string const & what ) : std::runtime_error(what)
        {
        }
    };
    
    int main( )
    {
        try
        {
            throw Exception("Exception");
        }
        catch ( std::exception const & e )
        {
            std::cerr << e.what() << std::endl;
        }
        catch(...)
        {
            std::cerr << "..." << std::endl;
        }
        return 0;
    }

    laMer007, 08 Июля 2016

    Комментарии (38)
  6. Куча / Говнокод #20353

    +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
    Также Дмитрий Кузнецов объяснил, каким образом будет осуществляться 
    передача ключей шифрования.
    
    «Предоставление ключей — это просто предоставление бумажного документа 
    с распечатанными столбиками цифр»,  — пояснил эксперт.
    
    Он добавил, что требования к средствам шифрования определяют то, как ключ 
    шифрования должен выглядеть в электронном виде, как его распечатать на 
    бумаге и как из распечатки перевести его обратно в электронную форму.
    
    По мнению эксперта, данное требование не вызовет проблем у операторов 
    связи, так как современный ключ шифрования без дополнительных служебных 
    полей имеет длину не более 8 килобайт, чаще всего используются ключи длиной 
    до 2 килобайт, что ничтожно мало по сравнению с размером самих сообщений.
    
    «Технических проблем с хранением и предоставлением ключей у операторов 
    не будет совершенно точно», — заключил специалист.

    оригинал - http://www.gazeta.ru/tech/2016/07/07/8376887/yarovaya.shtml

    Fike, 08 Июля 2016

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?	if (mail($mail, $subject, $text, $headers))
    	{
    		?>
    		<?=('<div class="container"><div class="row"><div class="block-header col-lg-12 col-md-12 col-sm-12 col-xs-12"><h2>Благодарим Вас за обращение, в ближайшее время с вами свяжется наш сотрудник.</h2></div></div></div>')?>
    		<?
    	} else {
    		?>
    		<?=('<br><b>Возникли проблемы при отправке почты</b>')?>
    		<?
    	} ?>

    попросили поправить код после предыдущего разраба )

    StTv, 07 Июля 2016

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

    +2

    1. 1
    2. 2
    //-----Если жмут submit(кнопку)-----//
    if(isset($_REQUEST['reg']))

    Really ? :D

    eskrano, 05 Июля 2016

    Комментарии (1)
  9. Куча / Говнокод #20311

    +2

    1. 1
    https://whydoesitsuck.com/cpp-sucks-for-a-reason/

    laMer007, 01 Июля 2016

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

    +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
    В последнее время наш сайт стали доставать true-программисты, студенты-идеалисты
    и прочие, комментариями с различными однобокими утверждениями,что переменные
    вида $peremennaya или функции шаблона function privet_miry() { /* ... */; } - это т.н.
    "говнокод". Отчасти оные товарищи правы, но...
    
    Наша всеми любимая поисковая система под названием Яндекс, умудряется придумывать
    все новые и новые фильтры с различными модификациями (не так давно был анонсирован АГС-40),
    которые по "неведомым" причинам признают порой вполне качественные сайты "малополезными",
    исключая последние из результов поиска. Одним из многочисленных факторов, влияющих на
    ранжирование и включение сайта в выдачу является уникальность контента (почитайте ответы
    Платона Щукина на любом более или менее приличном SEO-форуме). Но не будем отклоняться от темы,
    обсуждая целесообразность таких подарочков и их точность.
    
    Любой язык программирования, как известно имеет ограниченное количество синтаксических
    конструкций (не придирайтесь к словам). К примеру в PHP это if {...} else {...}, foreach(...): endforeach;
    и т.п. А с учетом API множества CMS (Drupal, Joomla, WordPress...) сниппеты могут и вовсе потерять
    "уникальность" с т.з. поисковой системы Яндекс. Соответственно мы вынуждены называть переменные,
    названия функций, ряд других элементов кириллическим транслитом.

    А всё почему? А потому, что Яндекс не нужен.

    >> #20296

    gost, 30 Июня 2016

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $do_while = DateTime::createFromFormat('d.m.Y H:i:s', $rowRequest['start_date'].":00");
    $do_while = $do_while->format('U');
    $do_while +=0;
    list($hour , $minute ) = explode(":", "24:00");$hour +=0;$minute +=0;
    $do_while +=($hour*3600 + $minute*60);
    $time = date('d.m.Y H:i',$do_while);

    Lesha, 30 Июня 2016

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