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

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

    −101

    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
    // Преобразует целое десятичное число (как вариант представления двоичного числа) в вещественное
    Функция ПреобразоватьВЧисло(Знач ДесятичноеЧисло = 0, Точность = 1) Экспорт
    	
    	СчБитов 	= 0;
    	Мантисса 	= 1;
    	Экспонента 	= ?(Точность = 2, -1023, -127);
    	Знак 		= 1;
    	
    	ГраницаМантиссы   = ?(Точность = 2, 52, 23);
    	ГраницаЭкспоненты = ?(Точность = 2, 63, 31);
    	
    	Пока ДесятичноеЧисло >= 1 Цикл
    		
    		Частное = Цел(ДесятичноеЧисло / 2);
    		Остаток = ДесятичноеЧисло % 2;
    		
    		Если СчБитов < ГраницаМантиссы Тогда
    			Мантисса = Мантисса + Остаток * Pow(2, СчБитов - ГраницаМантиссы);
    		ИначеЕсли СчБитов < ГраницаЭкспоненты И СчБитов > ГраницаМантиссы - 1 Тогда
    			Экспонента = Экспонента + Остаток * Pow(2, СчБитов - ГраницаМантиссы);
    		Иначе
    			Знак = ?(Остаток = 1, -1, 1);
    		КонецЕсли;
    		
    		ДесятичноеЧисло = Частное;
    		СчБитов	= СчБитов + 1;
    		
    	КонецЦикла; 
    		
    	Возврат Знак * Мантисса * Pow(2, Экспонента);
    
    КонецФункции

    TamerlanDE, 18 Мая 2013

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

    +154

    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
    I would like the language to change when a different flag icon is clicked but somehow I don't think 
    my jquery is correct because it's not working. Any guidance would be great.
    
     Thanks!
    
     <!doctype html>
     <html>
     <head>
     <meta charset="UTF-8">
     <title>Mini-Coding Assessment 5</title>
     <script src="//ajax.googleapis.com/ajax/libs/jqu… jquery.min.js"></script>
    
     <script>
     $(document).ready(function(){
     $("#images/us.png").click(function(){
     $("en").hide();
     });
     });
     </script>
    
     </head>
    
     <body>
    
     <img src="images/us.png"</a>
    
     <img src="images/it.png"</a>
    
     <img src="images/es.png"</a>
    
     <h1>How to Care for Your Cat</h1>
    
     <ul>
    
     <li>
     <div lang="en">Make sure that you take...</li></div>
    
     <li>
     <div lang="it">Assicurarsi che si prende il gatto dal veterinario...</li></div>
    
     <li>
     <div lang="es">Asegúrese de llevar a su gato al veterinario regularmente para...</li></div>
    
     </ul>
    
     </body>
     </html>

    вопрос какой-то ТП на webdeveloper.com я рыдал ))

    padonak, 17 Мая 2013

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

    +12

    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
    #include <iostream>
    
    namespace dynamic {
    
    template <class T> class scope;
    template <class T> class variable {
    public:
        variable() : initial(0), current(&initial) {}
        variable(const T &val) : initial(val, 0), current(&initial) {}
        operator T() { return current->val; }
        const T & operator = (const T & new_val) {
            return current->val = new_val;
        }
    private:
        struct node {
            node(node *prev) : val(), prev(prev) {}
            node(const T &val, node *prev) : val(val), prev(prev) {}
            T val;
            node *prev;
        };
        node initial;
        node *current;
        friend class scope<T>;
    };
    
    template <class T> class scope {
    public:
        scope(variable<T> &var) : var(var), node(var.current) {
            var.current = &node;
        }
        scope(variable<T> &var, const T &val) : var(var), node(val, var.current) {
            var.current = &node;
        }
        ~scope() {
            var.current = node.prev;
        }
    private:
        variable<T> &var;
        typename variable<T>::node node;
    };
    
    }
    
    
    dynamic::variable<int> x(100500);
    
    void foo() {
        std::cout << x << std::endl;
    }
    
    void bar() {
        dynamic::scope<int> x_(x, 42);
        foo();
        x = 265;
        foo();
    }
    
    int main() {
        foo();
        bar();
        foo();
        return 0;
    }

    Навеяно http://govnokod.ru/12993.

    https://ideone.com/7AA33Q

    bormand, 14 Мая 2013

    Комментарии (11)
  5. Java / Говнокод #12981

    +89

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public void render(){
    	for(int y = 0; y < height; y++){
    		if(y < 0 || y >= height) break;
    		for(int x = 0; x < width; x++){
    			if(x < 0 || x >= width) break;
    			int tileIndex = (x >> 4) + (y >> 4) * 64;
    			pixels[x + y * width] = tiles[tileIndex];
    		}
    	}
    }

    чтоб уж наверняка
    http://www.youtube.com/watch?v=uPkXZmOuqGI

    lowercase, 08 Мая 2013

    Комментарии (11)
  6. C++ / Говнокод #12947

    +13

    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
    struct read_access_tag {};
    struct write_access_tag {};
    struct read_write_access_tag : read_access_tag, write_access_tag {};
    
    template <
        typename ByteOrder,
        typename ValueType
    >
    std::size_t get_from(const uint8_t *src, ValueType &dst, const read_access_tag&) {
        ByteOrder::decode(src, dst);
        return sizeof(dst);
    }
    
    template <
        typename ByteOrder,
        typename ValueType
    >
    std::size_t put_into(ValueType src, uint8_t *dst, const write_access_tag&) {
        ByteOrder::encode(src, dst);
        return sizeof(src);
    }
    
    // ...
    
    template <
        typename ByteOrder = default_byte_order,
        typename AccessTag = read_write_access_tag
        >
    class basic_buffer {
    public:
        typedef ByteOrder byte_order;
        typedef AccessTag access_tag;
        typedef typename access_traits<access_tag>::value_type value_type;
        typedef typename access_traits<access_tag>::strict_type strict_type;
        typedef typename access_traits<access_tag>::iterator iterator;
        typedef typename access_traits<access_tag>::const_iterator const_iterator;
    
        basic_buffer(iterator begin, iterator end)
            : begin_(begin)
            , end_(end)
            , pos_(begin)
        {}
    
        // ...
    
        template <typename T>
        basic_buffer & put(T value) {
            if (bytes_left() < sizeof(value)) throw Overflow;
            pos_ += put_into<byte_order>(value, pos_, access_tag());
            return *this;
        }
    
        template <typename T>
        basic_buffer & get(T &value) {
            if (bytes_left() < sizeof(value)) throw Overflow;
            pos_ += get_from<byte_order>(pos_, value, access_tag());
            return *this;
        }
    }

    Развитие идей из

    http://govnokod.ru/12465
    Изобретаем права доступа в compile time, чтобы можно было запретить писать в readonly-буфер и читать из writeonly-буфера без дупликации кода. put_into по сути не нужен (запись в readonly_buffer у меня и без этого не скомпилится), существует из соображений симметрии. Полный код здесь
    https://github.com/roman-kashitsyn/encoding-binary

    roman-kashitsyn, 28 Апреля 2013

    Комментарии (11)
  7. C# / Говнокод #12944

    +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
    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
    class Date
        {
            private DateTime date;
            public Date(int day,int month,int year)
            {
                if(month > 0 && month < 13 && day > 0 && day <= DateTime.DaysInMonth(year,month)) // Это не надо, моё введение.
                    date = new DateTime(year,month,day);
                else Console.WriteLine("Неверная дата.");//
            }
            public Date()
            {
                date= new DateTime(2009,01,01);
            }
            public DateTime Yesterday()
            {
                return date.AddDays(-1);
            }
            public DateTime NextDay()
            {
                return date.AddDays(1);
            }
            public int Days()
            {
                return DateTime.DaysInMonth(date.Year,date.Month)-date.Day;
            }
            public DateTime GetDate
            {
                get
                {
                    return date;
                }
                set
                {
                    date = value;
                }
            }
            public bool IsLeapYear
            {
                get
                {
                    return DateTime.IsLeapYear(date.Year);
                }
            }
        }

    Пришлось сделать.

    dos_, 27 Апреля 2013

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

    +144

    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
    <?php
    $db=$_COOKIE['db'];
    $tbn=$_REQUEST['tb_s'];
    include('conf.php');
    mysql_select_db($db);
    echo '<h4 class="nr">'.$db.'.'.$tbn.'</h4><hr>';
    $q=mysql_query("SHOW COLUMNS FROM ".$tbn."");
    echo "<table border='1' class='t'><tr>";
    while($ntb=mysql_fetch_row($q)){
    echo "<td class='gr'>".$ntb['0']."</td>";
    }
    echo '</tr>';
    $query=mysql_query("SELECT * FROM ".$tbn."");
    while($row=mysql_fetch_array($query)){
    $qq=mysql_query("SHOW COLUMNS FROM ".$tbn."");
    echo '<tr>';
    while($ntb=mysql_fetch_row($qq)){
    $u=$ntb[0];
    echo '<td>'.$row[$u].'</td>';
    }
    echo '</tr>';
    }
    echo '</table><hr>';
    echo"<a href='s_db.php?db_s=".$_SESSION['db']."'>Bepнyтcя к тaблицaм</a>";
    ?>

    Мой дебют здесь)оцените говнокодность,+комменты))

    AnalgiNNN, 27 Апреля 2013

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

    +162

    1. 1
    var days_in_april = 32 - new Date(2013, 3, 32).getDate();

    Получаем число дней в месяце.

    А что, менее черезжопинским вариантом этого сделать никак?

    vse_govno, 17 Апреля 2013

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

    +148

    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
    if(!empty($_POST['Order']['tp1'])) {
        $step3_arr['tp1'] = intval($_POST['Order']['tp1']);
    }
    
    if(!empty($_POST['Order']['tp2'])) {
        $step3_arr['tp2'] = intval($_POST['Order']['tp2']);
    }
    
    if(!empty($_POST['Order']['tp3'])) {
        $step3_arr['tp3'] = intval($_POST['Order']['tp3']);
    }
    
    if(!empty($_POST['Order']['tp4'])) {
        $step3_arr['tp4'] = intval($_POST['Order']['tp4']);
    }
    
    if(!empty($_POST['Order']['eggs1'])) {
        $step3_arr['eggs1'] = intval($_POST['Order']['eggs1']);
    }
    
    if(!empty($_POST['Order']['eggs2'])) {
        $step3_arr['eggs2'] = intval($_POST['Order']['eggs2']);
    }
    
    if(!empty($_POST['Order']['eggs3'])) {
        $step3_arr['eggs3'] = intval($_POST['Order']['eggs3']);
    }
    
    if(!empty($_POST['Order']['eggs4'])) {
        $step3_arr['eggs4'] = intval($_POST['Order']['eggs4']);
    }

    Форма заказа. это только часть длинного листинга if-ов :).

    oxser, 16 Апреля 2013

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

    +159

    1. 1
    if (!is_array($array)) {$array = array($array)}

    partizan22, 14 Апреля 2013

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