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

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

    +131

    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
    public int stream;
            public override string ToString()
            {
                return group_name + teacher_name + " " + discipline_name + " " + discipline_type + " " + stream.ToString();
            }
            public override int GetHashCode()
            {
                return stream;
            }
            public override bool Equals(object obj)
            {
                try
                {
                    stream = Convert.ToInt32(obj.ToString());
                }
                catch { }
                return false;
            }

    Есть класс, который принимает список производных только от object классов. Необходимо было запихнуть в него мой класс и пошаманить над переменной stream. Дальше я думаю комментарии не требуются.

    GreatMASTERcpp, 09 Июня 2014

    Комментарии (21)
  3. PHP / Говнокод #15963

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $useragent=$_SERVER['HTTP_USER_AGENT'];
     
    if(preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|e-|e/|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(-|2|g)|yas-|your|zeto|zte-/i',substr($useragent,0,4))) {
            header("Location: http://mywebsite.com/mobile"); }
    else{
            header("Location: http://mywebsite.com/des");
    }

    Враг не пройдет

    kostoprav, 12 Мая 2014

    Комментарии (21)
  4. 1C / Говнокод #15877

    −166

    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
    Функция ЭтоБуква(Буква)
                    Возврат Найти("еоатинркулмДСвПдОсКцчыгзпбТНИьБФхВяРАЗЭйУЕГМЦжщЙШЩЫЛЯЧЬХЪЖЮЁёшъфэюQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm", Буква) > 0;
    КонецФункции
     
    Функция ЭтоЦифра(Буква)
     
                    Возврат Найти("1234567890", Буква)>0;
     
    КонецФункции // ЭтоЦифра()
     
    Функция ЭтоБукваИлиЦифра(Символ)
     
                    Возврат Найти("еоатинркулмДСвПдОсКцчыгзпбТНИьБФхВяРАЗЭйУЕГМЦжщЙШЩЫЛЯЧЬХЪЖЮЁёшъфэюQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890", Символ) > 0;
     
    КонецФункции // ЭтоБукваИлиЦифра()

    Из типовой конфигурации БГУ 2.0.
    На первый взгляд реализация забавна :-) Но, в общем-то, это не является говнокодом: просмотрев в гугле различные "рейтинги букв", получил примерно то же самое.
    Тем не менее, можно решить вопрос с помощью проверки кода символа.

    Voittamaton, 01 Мая 2014

    Комментарии (21)
  5. Куча / Говнокод #15866

    +144

    1. 1
    2. 2
    3. 3
    Кто против выхода языка программирования Lapis - ставьте минус, кто за - плюс.
    P.s. если наберётся 10 плюсов, дам интерпретатор.
    P.p.s. если наберётся 10 минусов, никогда никому тут не дам интерпретатор :)

    Ждём-с, пока пост наберёт +-10.

    Mobac, 30 Апреля 2014

    Комментарии (21)
  6. Си / Говнокод #15843

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #define PIXEL_PARTS_NUM 3
    
    typedef struct _pixel {
            char parts[PIXEL_PARTS_NUM];
    } pixel;

    evg_ever, 24 Апреля 2014

    Комментарии (21)
  7. Куча / Говнокод #15474

    +126

    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
    import Data.Array
    import Control.Arrow
    l = [1,5,5,5,8,10,17]
    make_array [] = undefined
    make_array l = listArray (0, (length l)-1) l
    -- binary_search:: (Integral i, Num i, Ord e, Ix i) => e -> Array i e -> i
    binary_search item arr = bs la ra where
    	(la, ra) = bounds arr
    	nextWhileEqualItem = uncurry iterate >>> takeWhile (\i -> la<=i && i<=ra && arr!i==item) >>> last
    	bs l r
    		| (m == l || m == r) && item/=av = Nothing
    		| item<av = bs l m
    		| item>av = bs m r
    		| item==av = Just (nextWhileEqualItem ((+) (-1), m), nextWhileEqualItem ((+)1, m))
    		| otherwise = Nothing
    		where
    			m = (l+r) `div` 2
    			av = arr!m
    main = do
    	print $ binary_search 8 $ make_array l
    	print $ binary_search 5 $ make_array l
    	print $ binary_search 5 $ make_array $ tail l
    	print $ binary_search 0 $ make_array l
    	print $ binary_search 100 $ make_array l
    	print $ binary_search 9 $ make_array l

    Решил я значит поучаствовать в специальной олимпиаде Романа с двача.
    http://ideone.com/K5Jj59

    LispGovno, 14 Марта 2014

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

    +51

    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
    template <class T> class return_1_t: public std::unary_function<T, T> {
    public:
    	return_1_t(const T & Ret) : _ret(Ret) {}
    	T operator()(T Arg) const { return _ret; }
    private:
    	T _ret;
    };
    template <class Arg1, class Arg2> class project1st: public std::binary_function<Arg1, Arg2, Arg1> {
    public:
    	Arg1 operator()(const Arg1 & X, const Arg2 & Y) { return X; }
    };
    template <class Arg1, class Arg2> class project2nd: public std::binary_function<Arg1, Arg2, Arg2> {
    public:
    	Arg2 operator()(const Arg1 & X, const Arg2 & Y) { return Y; }
    };
    template <class T> class identity: public std::unary_function<T, T> {
    public:
    	T operator()(const T & Arg) const { return Arg; }
    };
    template <class To, class From> class static_cast_t: public std::unary_function<To, From> {
    public:
    	To operator()(From obj) const {	return static_cast<To>(obj); }
    };
    template <class T> class take_address: public std::unary_function<T&, T*> {
    public:
    	result_type operator()(argument_type arg) const { return &(arg); }
    };
    template <class T> class take_const_address: public std::unary_function<const T&, const T*> {
    public:
    	result_type operator()(argument_type arg) const { return &(arg); }
    };
    template <class T> class creator: public std::unary_function<void, T*> {
    public:
    	result_type operator()(void) const { return new T(); }
    };
    template <class T, class Arg1> class creator_1_par: public std::unary_function<Arg1, T*> {
    public:
    	result_type operator()(argument_type arg) const { return new T(arg); }
    };
    template <class T, class Arg1, class Arg2> class creator_2_par: public std::binary_function<Arg1, Arg2, T*> {
    public:
    	result_type operator()(first_argument_type arg1, second_argument_type arg2) const	{ return new T(arg1, arg2);	}
    };
    template <class T> class maker: public std::unary_function<void, T> {
    public:
    	result_type operator()(void) const { return T(); }
    };
    template <class T, class Arg1> class maker_1_par: public std::unary_function<Arg1, T> {
    public:
    	result_type operator()(argument_type arg) const { return T(arg); }
    };
    template <class T, class Arg1, class Arg2> class maker_2_par: public std::binary_function<Arg1, Arg2, T> {

    Вот до чего доводит людей отсутствие частичного применения и лямбд.

    laMer007, 13 Февраля 2014

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

    −123

    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
    //***************************************************************************
    Функция ИмяМесяца(Дата)
    	
    	Если ТипЗнч(Дата) = Тип("Дата") тогда
    		НомерМесяца = Месяц(Дата);
    		НомерГода = Год(Дата);
    	Иначе		
    		НомерМесяца = Число(Сред(Дата,5,2));	
    		НомерГода = Число(Лев(Дата,4));	
    	КонецЕсли;
    	
    	Если НомерМесяца = 1 тогда
    		ИмяМесяца = "Январь";
    	ИначеЕсли НомерМесяца = 1 тогда
    		ИмяМесяца = "Январь";
    	ИначеЕсли НомерМесяца = 2 тогда
    		ИмяМесяца = "Февраль";   
    	ИначеЕсли НомерМесяца = 3 тогда
    		ИмяМесяца = "Март";   
    	ИначеЕсли НомерМесяца = 4 тогда
    		ИмяМесяца = "Апрель";
    	ИначеЕсли НомерМесяца = 5 тогда
    		ИмяМесяца = "Май";   
    	ИначеЕсли НомерМесяца = 6 тогда
    		ИмяМесяца = "Июнь";   
    	ИначеЕсли НомерМесяца = 7 тогда
    		ИмяМесяца = "Июль";
    	ИначеЕсли НомерМесяца = 8 тогда
    		ИмяМесяца = "Август";   
    	ИначеЕсли НомерМесяца = 9 тогда
    		ИмяМесяца = "Сентябрь";   
    	ИначеЕсли НомерМесяца = 10 тогда
    		ИмяМесяца = "Октябрь";
    	ИначеЕсли НомерМесяца = 11 тогда
    		ИмяМесяца = "Ноябрь";   
    	ИначеЕсли НомерМесяца = 12 тогда
    		ИмяМесяца = "Декабрь";
    	КонецЕсли;
    	
    	Возврат ИмяМесяца + " " + Формат(НомерГода,"ЧГ=0");	
    	
    КонецФункции

    Неделю умилялся и плакал от счастья=)

    safer_bwd, 31 Января 2014

    Комментарии (21)
  10. C# / Говнокод #14255

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //...
    for (int i = 0; i < size; i++)
    {
        //...
        if (i == size + 2) break;
        //...
    }
    //...

    Увидел у соседа в коде. Осторожность никогда не помешает :)

    MoN, 21 Декабря 2013

    Комментарии (21)
  11. Куча / Говнокод #14165

    +130

    1. 1
    class Int extends Float {}

    http://haxe.ru/ref-base_types

    someone, 02 Декабря 2013

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