1. PHP / Говнокод #13355

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    extract($params);
            foreach (array("subject", "title", "content") as $par) {
                if (empty($$par)) {
                    return false;
                }
            }

    Валидация входных параметров. Каждая строка тут прекрасна

    quall, 10 Июля 2013

    Комментарии (18)
  2. C# / Говнокод #13354

    +121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private static bool ProductGT10(Point p)
        {
            if (p.X * p.Y > 100000)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

    Классический пример из MSDN
    http://msdn.microsoft.com/ru-ru/library/bfcke1bz.aspx

    kegdan, 10 Июля 2013

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

    +132

    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
    $error = "Всё хорошо";
     
    if (!$_POST['mail'] || !checkEmail($_POST['mail'])) {
        $error .= "Не верный E-mail";
    }
     
    ...
     
    if ($error == "Всё хорошо") {
        $db->query("INSERT...
    } else {
     
    ...

    PragramistOtBoga, 09 Июля 2013

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

    +133

    1. 1
    Движёк сайта

    Все гаварят что трудна написать движёк сайта я вот написал за две сикунды без использаванья php и mysql ето ещо раз даказываит што я супир прагармист надеюзь многа лайкав палучу

    PragramistOtBoga, 09 Июля 2013

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

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $something = $_POST['something'];
    
    $array = explode(",", $something);
    
    $i = 0;
    
    for( $i; $i < count( $array ); $i++ ) {
       $db->query("INSERT INTO db_table (`a`, `b`, `c`) VALUE ('value1', 'value2', '".$array[$i]."') ");
    }

    Весь код не стал выкладывать, тут только логика моего говнокода. Нашел в своем старом коде, тогда еще незнал про конструкцию вида INSERT INTO table () VALUE (), (), ()

    PragramistOtBoga, 09 Июля 2013

    Комментарии (16)
  6. Java / Говнокод #13348

    +138

    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
    if (newGame) resources.free();
    s = FILENAME + 3;
    setLocation(); load(s);
    loadDialog.process();
    
    try { setGamerColor(RED); }
    catch(Exception e) { reset(); }
    while (notReady) { objects.make();
    if (resourceNotFound) break; }
    
    byte result; // сменить на int!
    music();
    System.out.print("");

    Читать с выражением!

    tirinox, 09 Июля 2013

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

    +14

    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
    template<class Key,class T,class H=Hash<Key>,
        class EQ=equal_to<Key>,class A=allocator<pair<const Key,T> > >
    class hash_map
    {
    public:
        //как map за исключением
        typedef H Hasher;
        typedef EQ key_equal;
        typedef size_t size_type;//из функции Hash видно что size_t нужно, а не int
        typedef Key key_type;
        typedef T mopped_type;
        //делаем объявление
        struct Entry;
        typedef T* iterator;
        typedef const Entry* const_iterator;
        typedef pair<iterator,iterator> equal_r;
    //...
     vector<map<key_type,mopped_type> *> v1;

    Тормозил std::unordered_map. Написал свой.

    LispGovno, 09 Июля 2013

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

    +6

    1. 1
    float cX = (float)x / float(vp->getActualWidth());

    Просто красиво))

    ssAVEL, 09 Июля 2013

    Комментарии (8)
  9. Pascal / Говнокод #13345

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    [color=red]Участник, прошу тебя, не поленись, пройдись по разделам и поставь всем по минусу.
    Минусуя участников, ты помогаешь обществу людей снижать ЧСД, а троллям -держать фигуру.
    
    
    Для сравнения с остальными постами, которые писал не я.
    P/S. найди 10 отличий.[/color]

    Без коментариев. Борманд вообще меня убил. Вчера-позавчера мы нормально общались, а сегодня он меня с кем-то спутал.

    Stertor, 09 Июля 2013

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

    +124

    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
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    #pragma syntax(C++03) // было
    int i,j,*pi,&ri=...,ai[10],aai[10][20];
    const int ci = 100;
    T myFunction (TX x1,TX x2,TY y1,TY ywd=...);
    
    #pragma syntax(C++SD) // стало
    var(int) i,j;
    var(Ptr[int]) pi;
    var(Ref[int]) ri = ...;
    var(Array[int,10]) ai;
    var(Array[Array[i,20],10]) aai;
    var(Immutable[int]) ci = 100;
    // отличать от:
    const(int) cci = 100; // и cci с рантаймовой точки зрения будет чистой константой, а не "типа неизменяемой переменной"
    
    function(T) myFunction (var(TX) x1,x2; var(TY) y1,ywd=...);
    // ^смысл в том, чтобы список параметров имел ту же форму, что декларация переменных и членов структур
    
    // возможны и константные функции
    function const(int) constSum (const(int) x1,x2) { return x1+x2; }
    // теперь constSum (1,2) будет всё равно что 3
    
    // это теперь заменяет тайпдеф
    const(typename) Int32 = int;
    
    #pragma syntax(C++03) // было
    class C
    {
     int mi;
     static int si;
    
    private:
     float mf;
     void privateMethod1 () {...}
     void privateMethod2 ();
    
    protected:
     void staticMethod1 () {...}
     void staticMethod2 ();
    
    public:
     virtual void virtualMethod ();
    };
    
    int C::si;
    void C::privateMethod2 () {...}
    void C::staticMethod2 () {...}
    void C::virtualMethod () {...}
    
    #pragma syntax(C++SD) // стало
    class C
    {
     // эта секция называется "имплементацией класса"
     var(int) mi;
     // статические поля в имплементации класса не объявляются
    
    private:
     var(float) mf;
     function() privateMethod1 () {...}
     //void privateMethod2 (); // объявлять методы, который не имплементируются тут же, не обязательно
    
    protected:
     function() staticMethod1 (): Static
     {...}
     // Static - пометка для функции, декларируемой/имплементируемой в имплементации класса,
     // что это не метод, а просто функция
    
    public:
     virtual function() virtualMethod ();
     // в имплементации класса по-настоящему нужна декларация только переменных-полей,
     // виртуальных методов и деструктора, если он пишется юзером
    
     // также:
     var(int) inlinelyInitialized = 100;
     // да, инициализаторы тоже допускаются
    };
    
    using (C) var(int) si; // using(C) - пометка, что декларация касается неймспейса C
    using (C) private: function() privateMethod2 (): Method {...}
    // ^если метод объявляется/имплементируется вне имплементации класса, его
    // нужно пометить как Method, чтобы отличить от обычной функции
    
    // using можно юзать и целым блоком...
    using (C)
    {
    protected:
     // для функции-неметода вне имплементации класса уточнение Static не требуется
     function() staticMethod2 {...}
    public:
     function() virtualMethod (): Method {...}
    }
    
    // глобальный скоп - тоже типа класс, для его явного указания, если вдруг понадобится,
    // используется конструкция using (.)

    Тот момент, когда понимаешь: "Какая радость, что в создатели стандарта крестов не берут кого попало."
    http://www.gamedev.ru/flame/forum/?id=178107

    LispGovno, 09 Июля 2013

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