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

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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    std::uint8_t octets[4];
    for(int i = 0; i < 4; ++i) {
        if(i != 0 && inp.get() != '.')
            { assert(false && "unexpected symbol"); }
        inp >> octets[i];
    }

    Два вида говна: в коде и в языке.

    Soul_re@ver, 28 Ноября 2014

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

    +56

    1. 1
    for (size_t i=v.size()-1; i<v.size(); --i)

    unsigned в массивах не нужен, нахуй усрались длинные массивы?

    TarasB, 22 Сентября 2014

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

    +56

    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
    #	define S_1(X,...)				\
    	template<class T, int N>		\
    	T X(const V<T, N>& v)			\
    	{								\
    		return v.X;					\
    	}
    #	define S_2(X,Y,...)				\
    	template<class T, int N>		\
    	V<T, 2> X##Y(const V<T, N>& v)	\
    	{								\
    		return V<T, 2>(v.X, v.Y);	\
    	}
    #	define S_3(X,Y,Z,...)				\
    	template<class T, int N>			\
    	V<T, 3> X##Y##Z(const V<T, N>& v)	\
    	{									\
    		return V<T, 3>(v.X, v.Y, v.Z);	\
    	}
    #	define S_4(X,Y,Z,W,...)					\
    	template<class T, int N>				\
    	V<T, 4> X##Y##Z##W(const V<T, N>& v)	\
    	{										\
    		return V<T, 4>(v.X, v.Y, v.Z, v.W);	\
    	}
    
    #	define S_E(S, X, Y, Z)	\
    	S(x, X, Y, Z);S(y, X, Y, Z);S(z, X, Y, Z);S(w, X, Y, Z);S(O, X, Y, Z);S(I, X, Y, Z);
    #	define S_E1(E, S, Z, W)	\
    	E(S, x, Z, W);			\
    	E(S, y, Z, W);			\
    	E(S, z, Z, W);			\
    	E(S, w, Z, W);			\
    	E(S, O, Z, W);			\
    	E(S, I, Z, W);
    
    #	define S_E2(E, S, W)	\
    	S_E1(E, S, x, W);		\
    	S_E1(E, S, y, W);		\
    	S_E1(E, S, z, W);		\
    	S_E1(E, S, w, W);		\
    	S_E1(E, S, O, W);		\
    	S_E1(E, S, I, W);
    
    #	define S_E3(E, S)	\
    	S_E2(E, S, x);		\
    	S_E2(E, S, y);		\
    	S_E2(E, S, z);		\
    	S_E2(E, S, w);		\
    	S_E2(E, S, O);		\
    	S_E2(E, S, I);
    
    	S_E1(S_E, S_2, void, void);
    	S_E2(S_E, S_3, void);
    	S_E3(S_E, S_4);
    
    // Где-то выше
    template<class T, int N>
    struct V;
    template<class T>
    struct V<T, 2>
    {
    	V(T x, T y) : x(x), y(y) {}
    	T x,y;
    	T O = 0;
    	T I = 1;
    };
    template<class T>
    struct V<T, 3>
    {
    	V(T x, T y, T z) : x(x), y(y), z(z) {}
    	T x,y,z;
    	T O = 0;
    	T I = 1;
    };
    template<class T>
    struct V<T, 4>
    {
    	V(T x, T y, T z, T w) : x(x), y(y), z(z), w(w) {}
    	T x,y,z,w;
    	T O = 0;
    	T I = 1;
    };

    Этот код рабочий и используется во многих местах моего проекта.
    Я его написал когда-то давно и уже забыл, как оно функционирует, но оно генерирует очень много (около 1.5k) функций.

    -Eugene-, 27 Июля 2014

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

    +56

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <iostream>
    using namespace std;
    
    int main() {
    	int i = 5;
    	int* p1 = &i;
    	volatile int* p2 = &i;
    	cout << p1 << endl;
    	cout << p2 << endl;
    	return 0;
    }

    http://ideone.com/hpw4CB

    LispGovno, 08 Февраля 2014

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

    +56

    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
    function utf8_to_cp1251 ($txt)  {
      $out_arr = array (
        chr(208), chr(192), chr(193), chr(194),chr(195), chr(196), chr(197), chr(168),
        chr(198), chr(199), chr(200), chr(201),chr(202), chr(203), chr(204), chr(205),
        chr(206), chr(207), chr(209), chr(210),chr(211), chr(212), chr(213), chr(214),
        chr(215), chr(216), chr(217), chr(218),chr(219), chr(220), chr(221), chr(222),
        chr(223), chr(224), chr(225), chr(226),chr(227), chr(228), chr(229), chr(184),
        chr(230), chr(231), chr(232), chr(233),chr(234), chr(235), chr(236), chr(237),
        chr(238), chr(239), chr(240), chr(241),chr(242), chr(243), chr(244), chr(245),
        chr(246), chr(247), chr(248), chr(249),chr(250), chr(251), chr(252), chr(253),
        chr(254), chr(255)
      );
      $in_arr = array (
        chr(208).chr(160), chr(208).chr(144), chr(208).chr(145),chr(208).chr(146), chr(208).chr(147), chr(208).chr(148),
        chr(208).chr(149), chr(208).chr(129), chr(208).chr(150),chr(208).chr(151), chr(208).chr(152), chr(208).chr(153),
        chr(208).chr(154), chr(208).chr(155), chr(208).chr(156),chr(208).chr(157), chr(208).chr(158), chr(208).chr(159),
        chr(208).chr(161), chr(208).chr(162), chr(208).chr(163),chr(208).chr(164), chr(208).chr(165), chr(208).chr(166),
        chr(208).chr(167), chr(208).chr(168), chr(208).chr(169),chr(208).chr(170), chr(208).chr(171), chr(208).chr(172),
        chr(208).chr(173), chr(208).chr(174), chr(208).chr(175),chr(208).chr(176), chr(208).chr(177), chr(208).chr(178),
        chr(208).chr(179), chr(208).chr(180), chr(208).chr(181),chr(209).chr(145), chr(208).chr(182), chr(208).chr(183),
        chr(208).chr(184), chr(208).chr(185), chr(208).chr(186),chr(208).chr(187), chr(208).chr(188), chr(208).chr(189),
        chr(208).chr(190), chr(208).chr(191), chr(209).chr(128),chr(209).chr(129), chr(209).chr(130), chr(209).chr(131),
        chr(209).chr(132), chr(209).chr(133), chr(209).chr(134),chr(209).chr(135), chr(209).chr(136), chr(209).chr(137),
        chr(209).chr(138), chr(209).chr(139), chr(209).chr(140),chr(209).chr(141), chr(209).chr(142), chr(209).chr(143)
      );
      $txt = str_replace($in_arr,$out_arr,$txt);
      return $txt;
    }

    Ещё один случай лютой ненависти к iconv().

    Stallman, 26 Декабря 2012

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

    +56

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function isAvailable( $args ) {
        $available = fetchAvailability( $args );
        
        return $available ? 'yep' : 'noup';
    }
    
    // Где-то в javascript после вызова isAvailable()
    function isAvailableCallback( result ) {
        if ( result === 'yep' ) {
        ...
        }
    }

    Альтернативный способ работы с логическим типом данных. Используется как и в javascript так и в php.

    enures, 25 Декабря 2012

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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    function goto($url, $time = 0)
    {
    	exit('<META HTTP-EQUIV="REFRESH" CONTENT="'.$time.';URL='.$url.'">');
    }

    kindofbear, 21 Декабря 2012

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

    +56

    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
    <?php
    /*
    @package   Widgetkit
    * @author    YOOtheme http://www.yootheme.com
    */
    $sets = array_chunk($widget->items, $settings['items_per_set']);
    	foreach(array_keys($sets) as $s) {
    	  $nav[] = '<li><span></span></li>';
    	}
    ?>
    				<?php foreach ($sets as $set => $items) : ?>
    				<ul class="set">
    					<?php foreach ($items as $item) : ?>
    					<li>
    						<div><?php echo $item['navigation']; ?></div>
    					</li>
    					<?php endforeach; ?>
    				</ul>
    				<?php endforeach; ?>
    <?php 
    
    ?>

    И так в 230 файлах.
    Садо-мазо, блин!

    virtual_cia, 03 Ноября 2012

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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if($_POST['gtype'] == "" || $_POST['ip'] == "" || $_POST['c_port'] == "" || $_POST['q_port'] == "" || $_POST['s_port'] == "" || $_POST['zone'] == "" || $_POST['disabled'] == "") $msg = '<div class="status error"><p><img src="./template/images/icons/icon_error.png" alt="Error"><span>Ошибка!</span>.</p></div>';
    		else
    		{
    			mysql_query('INSERT INTO lgsl(type,ip,c_port,q_port,s_port,zones,disabled,comment) VALUES(\'' .$_POST['type']. '\',\'' .$_POST['ip']. '\',\'' . $_POST['c_port'] . '\', \'' .$_POST['q_port']. '\', \'' .$_POST['s_port']. '\', \'' .$_POST['zone']. '\', \'' .$_POST['disabled']. '\', \'' .$_POST['comment']. '\')', $con);
    			$msg = '<div class="status success"><p><img src="./template/images/icons/icon_success.png" alt="Sėkmingai"><span>Įrašyta!</span> Serveris sėkmingai pridėtas.</p></div>';
    		}

    как-то так...

    nonamez, 04 Октября 2012

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

    +56

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public function bugreportAction() {
            if (!isset($_POST['Type']) || !isset($_POST['Text']) || !isset($_POST['Module']))
                return false;
            if (trim($_POST['Text']) == "Ваш текст здесь...")
                return false;
            $rzt = $this->Debug->AddReport($_POST['Type'], $_POST['Text'], $_POST['Module']);
            if ($rzt)
                echo "OK";
            else
                echo "FAIL";
            return $rzt;
        }

    На работе нашел в проектах у других программистов, особенно понравилось.
    if (trim($_POST['Text']) == "Ваш текст здесь...")
    return false;

    Stud, 04 Октября 2012

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