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

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

    +8

    1. 1
    2. 2
    const
    #include "file.xpm"

    У чувака в файле file.xpm объявлен массив static char * icon_xpm [] = { "..", "..", ... } и он не может заинклудить его в плюсовый код. Вот такой воркараунд ему предложили.
    https://www.linux.org.ru/forum/development/10400992?cid=10406949

    kurwa-nextgen, 27 Июля 2016

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

    +8

    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
    #include <iostream>
    using namespace std;
     
    class Boolean {
    public:
        Boolean() : m_flag(false), m_val(0) {}
        Boolean(bool flag) : m_flag(flag), m_val(0) {}
        Boolean(bool flag, int val) : m_flag(flag), m_val(val) {}
     
        Boolean operator || (int val) {
            return Boolean(m_flag || val == m_val, m_val);
        }
     
        operator bool() { return m_flag; }
     
    private:
        bool m_flag;
        int m_val;
    };
     
    class Integer {
    public:
        Integer() : m_val(0) {}
        Integer(int val) : m_val(val) {}
     
        operator int() { return m_val; }
        Boolean operator == (int val) { return Boolean(val == m_val, m_val); }
        Boolean operator == (const Integer & val) { return Boolean(val.m_val == m_val, m_val); }
     
    private:
        int m_val;
    };
     
    int main() {
        Integer a(10);
     
        cout << bool(a == 15 || 10) << endl;
        cout << bool(a == 15 || 11) << endl;
        cout << bool(a == 15 || 11 || 13 || 11 || 0 || 10 || 5) << endl;
        cout << bool(a == 15 || 11 || 13 || 11 || 0 || 9 || 5) << endl;
     
        return 0;
    }

    https://ideone.com/xwMvx7

    gost, 07 Июля 2016

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

    +8

    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
    //как создать сильный пароль в php
    $hp = md5(md5(md5(strong($_POST['hp']))));  // типо наш пароль
    
    //а что же такое strong?? 
    
    ###############################
    ######## Фильтрация ###########
    ###############################
    function strong($msg){
    $msg = trim($msg);
    $msg = htmlspecialchars($msg);
    $msg = mysql_escape_string($msg);
    return $msg;
    }

    Мануал по шифрованию паролей.

    eskrano, 05 Июля 2016

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

    +8

    1. 1
    https://github.com/mpak2/mpak.su/blob/master/include/mpfunc.php#L54

    Новая система измерения файлов

    dm_fomenok, 12 Июня 2016

    Комментарии (22)
  6. JavaScript / Говнокод #20139

    +8

    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
    function getEntryByName(name) {
        var entries = [];
        var ent;
        while(ent = getNextDBEntry()) {
            entries.push(ent);
        }
        for(var i = 0; i < entries.length; i++) {
            if(entries[i].getName() == name) {
                return entries[i];
            }
        }
        return nullEntry;
    }

    ААА, мои глаза!!!

    UsernameAK, 06 Июня 2016

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

    +8

    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
    <?
    	function __echo($str){
    		return "$str\n";
    	}
    	function _echo ($str){
    		echo __echo($str);
    	}
    	function _echo_utf8($str){
    		_echo (iconv('windows-1251', 'UTF-8//IGNORE', $str));
    	}
    
    	_echo("<div id='class_edit_add' style='display:none;margin-left:30px;'>");
    	_echo("<div style='margin-bottom:30px;'><center>");
    	_echo_utf8("Добавить &nbsp;");
    	_echo("<select id='chose_class_edit_add_something'>");
    	_echo("<option selected value='0'></option>");
    	_echo_utf8("<option value='1'>предмет</option>");
    	_echo_utf8("<option value='2'>учителя</option>");
    	_echo_utf8("<option value='3'>ученика</option>");
    	_echo_utf8("<option value='4'>подгруппу</option>");
    	_echo("</select>");
    	_echo("<input type='button' class='button' value='ok' onclick=\"class_edit_add_something();\">");
    	_echo("</сenter></div>");
    	_echo("<div id='div_class_edit_add_something_out' style='display:none'></div>");
    	_echo("</div>");

    _echo_utf8

    jufer, 16 Апреля 2016

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

    +8

    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
    template <size_t capacity, bool is_signed>
    class fixed_int
    {	
        // Описание ошибки компиляции в случае использования не поддерживаемой размерности 
        template <int x> struct unsupported_capacity { int i[1/(x-x)]; };
        template <> struct unsupported_capacity<1> {};
        template <> struct unsupported_capacity<2> {};
        template <> struct unsupported_capacity<4> {};
        template <> struct unsupported_capacity<8> {};
    
        // Свойства базовых типов, необходимые для перебора
        template<typename type> struct type_traits;
        template<> struct type_traits <unsigned char> { typedef unsigned char current_type; typedef unsigned short next_type; };
        template<> struct type_traits <unsigned short> { typedef unsigned short current_type; typedef unsigned int next_type; };
        template<> struct type_traits <unsigned int> { typedef unsigned int current_type; typedef unsigned long next_type; };
        template<> struct type_traits <unsigned long> {	typedef unsigned long current_type; typedef unsigned long long next_type; };
        template<> struct type_traits <unsigned long long int> { typedef unsigned long long int current_type;  typedef unsupported_capacity<capacity> next_type; };
        template<> struct type_traits <signed char> { typedef signed char current_type; typedef short next_type; };
        template<> struct type_traits <short> { typedef short current_type; typedef int next_type; };
        template<> struct type_traits <int> { typedef int current_type; typedef long next_type; };
        template<> struct type_traits <long> { typedef long current_type; typedef long long next_type; };
        template<> struct type_traits <long long int> { typedef long long int current_type;  typedef unsupported_capacity<capacity> next_type;};
    
        // Алгоритм выбора типа
        template<typename type, bool> 
        struct type_choice 
        { 
            typedef typename type_traits<type>::current_type std_type; 
        };
        template<typename type> 
        struct type_choice<type, false> 
        { 
            typedef typename type_traits<type>::next_type next_type; 
            typedef typename type_choice<next_type, sizeof(next_type) == capacity>::std_type std_type; 
        };
    
        // Базовый тип для начала подбора
        template <bool is_signed> struct base_type_selector { typedef signed char base_type; };
        template <> struct base_type_selector<false> { typedef unsigned char base_type; };
    
    public:
    
        typedef typename type_choice< typename base_type_selector<is_signed>::base_type, sizeof(base_type_selector<is_signed>::base_type) == capacity >::std_type type;
    
    };

    "Зачем мне нужен stdint.h?
    У меня нет времени, чтобы ебаться с ним!
    Лучше я высру ещё десяток-другой шаблонов!"
    https://habrahabr.ru/post/280542/

    PS,
    Пятая строка - вообще угар.

    gost, 31 Марта 2016

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

    +8

    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
    public static bool IsObjectIs<T>(object o)
    {
        if (o == null)
            return false;
    
        try
        {
            object b = (T)o;
            return true;
        }
        catch
        {
            return false;
        }
    }

    Такая вот реализация c# оператора 'is'

    lonkimonki, 24 Марта 2016

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

    +8

    1. 1
    TOO_ENOUGH_DATA

    3_14dar, 06 Марта 2016

    Комментарии (2)
  11. JavaScript / Говнокод #19181

    +8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(user.pass = pass_to_hash(password)){
           return done(null, user);
    }else{
           return done('incorrect password');
    }

    Факир был пьян, и запер дверь, забыв ее закрыть)

    Darth, 15 Декабря 2015

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