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

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

    +119

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Well, there were other factors in play there. htmlspecialchars was a
    very early function. Back when PHP had less than 100 functions and the
    function hashing mechanism was strlen(). In order to get a nice hash
    distribution of function names across the various function name lengths
    names were picked specifically to make them fit into a specific length
    bucket. This was circa late 1994 when PHP was a tool just for my own
    personal use and I wasn't too worried about not being able to remember
    the few function names.
    
    -Rasmus

    http://news.php.net/php.internals/70691

    someone, 17 Декабря 2013

    Комментарии (12)
  3. Куча / Говнокод #13725

    +119

    1. 1
    2. 2
    /proc/add_action(source, action, param1, param2)
    	toExecute += list(source = source, procname = ( action = "attack" ? "attack" : ( action = "move" ? "move" : ( action = "..." ? "someshit1" : ( action = "...(2)" ? "someshit2" : null ) ) ) ), params = list( ( (action = "attack") or (action = "move") ? param1 : null), (action = "..." or action = "...(2)" ? param2 : null ) )

    А я люблю обмазываться несвежим кодом в одну строку и дрочить.

    Сам код - лишь пример, но его можно расширять бесконечно.

    EditorRUS, 02 Сентября 2013

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

    +119

    1. 1
    private static ControlledBlock uncontrolledBlock;

    Взаимоисключающие параграфы...

    someone, 15 Августа 2013

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

    +119

    1. 1
    border-color: #dadada #ebebeb #ebebeb #dadada;

    CSS. Встречено в проекте, разработчики с пост-совка :)

    Elvenfighter, 04 Июля 2013

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

    +119

    1. 1
    <button type="button"

    Пятница в моей голове...

    nonamez, 22 Марта 2013

    Комментарии (24)
  7. Java / Говнокод #12775

    +119

    1. 1
    2. 2
    3. 3
    if (request.getDate() != null && request.getDate().after(new Date())) {
    	throw new ApiException(HttpStatus.SC_BAD_REQUEST, "Great Scott! Time machine not invented yet");
    }

    someone, 21 Марта 2013

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

    +119

    1. 1
    Dummy commit for the sake of documentation (previous commit was made without a message)

    someone, 28 Февраля 2013

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

    +119

    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
    <?php
    session_start();
    if(empty($_SESSION['login']) or empty($_SESSION['id']) or empty($_SESSION['auth_key']))
    {
        header("Location: index.php");
    }
    else
    {
        $user_name = $_POST['name'];
        $user_sname = $_POST['sname'];
        $user_gender = $_POST['gender'];
        $user_about = $_POST['about'];
        
        
        $user_phone = $_POST['phone'];
        $user_mail = $_POST['email'];
        
        $user_company = $_POST['company'];
        $user_company_position = $_POST['position'];
        
        
        $user_login = $_POST['login'];
        $user_password = $_POST['password'];
        
        include 'includes/xd4sw.php';
        $update_query = mysql_query("UPDATE users SET user_name='$user_name', user_sname='$user_sname', user_gender='$user_gender',
                user_about='$user_about', user_phone='$user_phone', user_mail='$user_mail', user_company='$user_company', 
                user_company_position='$user_company_position', user_login='$user_login', user_password='$user_password' WHERE user_id=".$_SESSION['id']);
        mysql_close($db);
        header('Location: settings.php?act=good');
        
    }
    
    ?>

    НА НАХ!!!!

    Govnisti_Diavol, 12 Февраля 2013

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

    +119

    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
    public static Tuple<t1, t2,="" t3,="" t4,="" t5,="" t6,="" t7,="" tuple=""><t8>> Create<t1, t2,="" t3,="" t4,="" t5,="" t6,="" t7,="" t8="">(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8) {
                return new Tuple<t1, t2,="" t3,="" t4,="" t5,="" t6,="" t7,="" tuple=""><t8>>(item1, item2, item3, item4, item5, item6, item7, new Tuple<t8>(item8));
    
       Int32 IStructuralEquatable.GetHashCode(IEqualityComparer comparer) {
                // We want to have a limited hash in this case.  We'll use the last 8 elements of the tuple
                ITuple t = (ITuple) m_Rest;
                if(t.Size >= 8) { return t.GetHashCode(comparer); }
     
                // In this case, the rest memeber has less than 8 elements so we need to combine some our elements with the elements in rest
                int k = 8 - t.Size;
                switch(k) {
                    case 1:
                    return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item7), t.GetHashCode(comparer));
                    case 2:
                    return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer));
                    case 3:
                    return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer));
                    case 4:
                    return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer));
                    case 5:
                    return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item3), comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer));
                    case 6:
                    return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item2), comparer.GetHashCode(m_Item3), comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer));
                    case 7:
                    return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1), comparer.GetHashCode(m_Item2), comparer.GetHashCode(m_Item3), comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer));
                }
                Contract.Assert(false, "Missed all cases for computing Tuple hash code");
                return -1;
            }
     
            Int32 ITuple.GetHashCode(IEqualityComparer comparer) {
                return ((IStructuralEquatable) this).GetHashCode(comparer);
            }
            public override string ToString() {
                StringBuilder sb = new StringBuilder();
                sb.Append("(");
                return ((ITuple)this).ToString(sb);
            }
     
            string ITuple.ToString(StringBuilder sb) {
                sb.Append(m_Item1);
                sb.Append(", ");
                sb.Append(m_Item2);
                sb.Append(", ");
                sb.Append(m_Item3);
                sb.Append(", ");
                sb.Append(m_Item4);
                sb.Append(", ");
                sb.Append(m_Item5);
                sb.Append(", ");
                sb.Append(m_Item6);
                sb.Append(", ");
                sb.Append(m_Item7);
                sb.Append(", ");
                return ((ITuple)m_Rest).ToString(sb);
            }

    Давно заприметил в C# кортежи. За них отвечаёт чудесный класс System.Tuple
    http://msdn.microsoft.com/en-us/library/system.tuple.aspx
    Вот стало интересно - как они там это дело реализовали, ведь постоянно вводит новые плюшки в язык.
    Посмотрел и ужаснулся - решили "в лоб" и кортежи обошлись в 1000 строк.
    http://reflector.webtropy.com/default.aspx/4@0/4@0/untmp/DEVDIV_TFS/Dev10/Releases/RTMRel/ndp/clr/src/BCL/System/Tuple@cs/1305376/Tuple@cs

    Хотел запостить в #12129. Но он утонул.

    3.14159265, 19 Ноября 2012

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

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    data Fuuu = Fuuu
    instance Eq Fuuu
     
    main = print $ if Fuuu == Fuuu then "I dosen't seen this" else "and this"

    Вот за что мне нравится сверх надежный высокоуровневый хаскель, так за то, что если забыл переопределить какой-то метод или оператор из класа типов (в нормальных языках это интерфейс или один из базовых класов) стандартной библиотеки языка или неподходящим образом от него отнаследовался, то мы получаем надежное поведение:
    http://ideone.com/6faPct
    результат: Ошибка выполнения время: 0.01s память: 3580 kB сигнал: -1
    ввод: нет
    вывод: нет
    stderr:
    prog: <<loop>>

    HaskellGovno, 07 Ноября 2012

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