1. C++ / Говнокод #23340

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #ifdef _MSC_VER
    #  if ( _MSC_VER <= 1800) // MSVC 2012 / 2013
    typedef std::vector<char>& vector_ref;
    #  else
    typedef std::vector<char>&& vector_ref;
    #  endif
    #else
    typedef std::vector<char>&& vector_ref;
    #endif
    
    auto func = std::bind([this](vector_ref v) { /* ... */ }, std::placeholders::_1);

    тут говна вагон и маленькая тележка
    Во-первых, версии студии, компилятора студии и _MSC_VER всегда разные. Сложно даже представить человека который решил "а давайте распространять компилятор по версии SDK, а проверять по левому числу, не являющемуся ни тем ни другим?"
    Во-вторых, поддержка c++11 в msvc 2012/2013 удручает. В 2012 нет даже type aliases, потому и typedef.
    В-третьих, кривая реализация bind (rvalue-версия не соберется в студиях 12/13, lvalue - в более поздних).

    Antervis, 11 Сентября 2017

    Комментарии (12)
  2. PHP / Говнокод #23339

    0

    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
    if ($session_data['iam']) {
                    $newparam = $param = " AND member_gender = '" . $session_data['iam'] . "' ";
                }
    
                if ($session_data['add_title_new']) {
                    $newparam = $param = " AND member_name like '%" . $session_data['add_title_new'] . "%' ";
                }
    
                if ($session_data['i_am']) {
                    $param = " AND member_gender = '" . $session_data['i_am'] . "' ";
                }
    
                if ($session_data['looking']) {
                    $newparam .= $param .= " AND member_looking_for = '" . $session_data['looking'] . "' ";
                }
    
                if ($session_data['agefrom'] != '0' && $session_data['agefrom'] != '') {
                    $param .= " AND partner_age_range_from = '" . $session_data['agefrom'] . "' ";
                }

    Ладно, зачем-то присваивание сразу двух переменных, которые названы совершенно невнятно. Но что делает .= $param .= я вообще боюсь представить (и честно говоря лень проверять)

    gorsash, 11 Сентября 2017

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

    0

    1. 1
    normalSport.Regions.First().Leagues.FirstOrDefault(x => x.LeagueId == rootCompanyOdds.leagues[i].id).Games.FirstOrDefault(x => x.GameId == rootCompanyOdds.leagues[i].events[j].id).Markets.AddRange(factory.CreateGameFromCompanyEvent(rootCompanyOdds.leagues[i].events[j]).Markets)

    инлайн змiй

    govnoBet, 11 Сентября 2017

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

    −2

    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
    public static function GenerateMenu()
        {
            $item = [];
            $section = self::find()->all();
            $count_section = 0;
    
            foreach ($section as $model_section) {
                $item[] = ['label' => $model_section->name, 'url' => '#'];
                $category = \common\models\Category::find()->where(['id_section' => $model_section->id])->all();
                $count_category = 0;
                foreach ($category as $model_category) {
                    $item[$count_section]['items'][$count_category] = ['label' => $model_category->name, 'url' => '#'];
                    $subcategory = \common\models\Subcategory::find()->where(['id_category' => $model_category->id])->all();
                    $count_subcategory = 0;
                    foreach ($subcategory as $model2) {
                        $item[$count_section]['items'][$count_category]['items'][$count_subcategory] = ['label' => $model2->name, 'url' => '#'];
                        $count_subcategory++;
                    }
                    $count_category++;
                }
                $count_section++;
            }
    
            return $item;
        }

    Феерическое решение для вывода tree из трех категорий.

    qstd, 09 Сентября 2017

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

    −19

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    let countries = ``
    
    missingCountries.map((c, i) => {
      countries += ` '${c.country}'`
      if (i !== missingCountries.length - 1) countries += `,`
    })

    map? Ara.

    sigod, 07 Сентября 2017

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

    −9

    1. 1
    console.log((typeof[])[!![]-!![]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[!![]+!![]+!![]+!![]]+(typeof([]+[]))[!![]+!![]+!![]+!![]+!![]]+'+'+(typeof[])[!![]+!![]]+(typeof([]+[]))[!![]-!![]]+'='+(![]+[])[!+[]+!+[]]+(typeof[])[!![]-!![]]+'\\/'+([![]]+[][[]])[!![]+!![]+!![]+!![]])

    прикол над коллегой, выведет oleg+js= ... запустите, если хотите знать :)

    skyandrd, 07 Сентября 2017

    Комментарии (20)
  7. Pascal / Говнокод #23334

    −9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    {получить I}
    function getSafeItoDBID(TEmployer e):Integer;
    begin
      if (e<>nil) and (e.getIdentificator()<>nil) and (e.getIdentificator().getID()<>nil) and (e.getIdentificator().getID().getID()<>nil)
        then result:= e.getIdentificator().getID().getID().getValue().i;
        else result:= 0;
    end;

    Получить без ERROR ID для записи в MySQL

    AlCodel, 07 Сентября 2017

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

    −2

    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
    public static function getItemGrid($settings, $site_width, $columns) {
            $products_per_row_xs = Journal2Utils::getProperty($settings, 'mobile.value', 1);
            $products_per_row_sm = Journal2Utils::getProperty($settings, 'mobile1.value', 2);
            if ($columns == 1) {
                $products_per_row_md = Journal2Utils::getProperty($settings, 'tablet1.value', 2);
            } else if ($columns == 2) {
                $products_per_row_md = Journal2Utils::getProperty($settings, 'tablet2.value', 1);
            } else {
                $products_per_row_md = Journal2Utils::getProperty($settings, 'tablet.value', 3);
            }
            if ($columns == 1) {
                $products_per_row_lg = Journal2Utils::getProperty($settings, 'desktop1.value', 4);
            } else if ($columns == 2) {
                $products_per_row_lg = Journal2Utils::getProperty($settings, 'desktop2.value', 3);
            } else {
                $products_per_row_lg = Journal2Utils::getProperty($settings, 'desktop.value', 5);
            }
            if ($columns == 1) {
                $products_per_row_xl = Journal2Utils::getProperty($settings, 'large_desktop1.value', 4);
            } else if ($columns == 2) {
                $products_per_row_xl = Journal2Utils::getProperty($settings, 'large_desktop2.value', 3);
            } else {
                $products_per_row_xl = Journal2Utils::getProperty($settings, 'large_desktop.value', 5);
            }
            return array(
                'xs'    => $products_per_row_xs,
                'sm'    => $products_per_row_sm,
                'md'    => $products_per_row_md,
                'lg'    => $products_per_row_lg,
                'xl'    => $site_width > 1200 ? $products_per_row_xl : $products_per_row_lg
            );
        }

    Метод из шаблона Journal в opencart

    den_rad, 06 Сентября 2017

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

    −7

    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
    import re
    
    def matrix():
        square = [[0 for x in range(7)] for x in range(7)]
        directions = ((1,0), (0,1), (-1,0), (0,-1))
        x, y, d = -1, 0, 0
        
        for i in range(49):
            while True:
                x1, y1 = x + directions[d][0], y + directions[d][1]
                
                if x1 >= 0 and x1 < 7 and y1 >= 0 and y1 < 7 and square[y1][x1] == 0:
                    x, y = x1, y1
                    break
                
                d = (d + 1) % 4
            
            square[y][x] = re.sub(r'\d', lambda n: ' ' * int(n.group()), '9de9mb8nv5yo4aol1rm')[i]
        
        return square
    
    print('\n'.join([''.join(line) for line in matrix()]).strip())

    по мативам http://govnokod.ru/23329#comment389918

    HACTEHbKA, 06 Сентября 2017

    Комментарии (16)
  10. JavaScript / Говнокод #23330

    +3

    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
    function getResult ()
      {
      var o1,o2,o3,o4,o5,o6,o7,o8,o9;
      var o10,o11,o12,o13,o14,o15,o16,o17,o18;
      var o19,o20,o21,o22,o23,o24,o25,o26,o27;
      var o28,o29,o30,o31,o32,o33,o34,o35,o36,o37;
      
     if (R1[2].checked)o1="Правильно"; else o1="Неправильно";
     if (R2[0].checked)o2="Правильно"; else o2="Неправильно";
     if (R3[2].checked)o3="Правильно"; else o3="Неправильно";
     if (R4[0].checked)o4="Правильно"; else o4="Неправильно";
     if (R5[1].checked)o5="Правильно"; else o5="Неправильно";
     if (R6[1].checked)o6="Правильно"; else o6="Неправильно";
     if (R7[2].checked)o7="Правильно"; else o7="Неправильно";
     if (R8[3].checked)o9="Правильно"; else o9="Неправильно";
     if (R9[2].checked)o10="Правильно"; else o10="Неправильно";
     if (R10[2].checked)o11="Правильно"; else o11="Неправильно";
     if (R11[0].checked)o12="Правильно"; else o12="Неправильно";
     if (R12[2].checked)o13="Правильно"; else o13="Неправильно";
     if (R13[2].checked)o14="Правильно"; else o14="Неправильно";
     if (R14[0].checked)o15="Правильно"; else o15="Неправильно";
     if (R15[3].checked)o16="Правильно"; else o16="Неправильно";
     if (R16[3].checked)o17="Правильно"; else o17="Неправильно";
     if (R17[0].checked)o18="Правильно"; else o18="Неправильно";
     if (R18[1].checked)o19="Правильно"; else o19="Неправильно";
     if (R19[2].checked)o20="Правильно"; else o20="Неправильно";
     if (R20[2].checked)o21="Правильно"; else o21="Неправильно";
     if (R21[4].checked)o22="Правильно"; else o22="Неправильно";
     if (R22[2].checked)o23="Правильно"; else o23="Неправильно";
     if (R23[3].checked)o24="Правильно"; else o24="Неправильно";
     if (R24[2].checked)o25="Правильно"; else o25="Неправильно";
     if (R25[0].checked)o27="Правильно"; else o27="Неправильно";
     if (R26[1].checked)o29="Правильно"; else o29="Неправильно";
     if (R27[0].checked)o30="Правильно"; else o30="Неправильно";
     if (R28[1].checked)o32="Правильно"; else o32="Неправильно";
     if (R29[1].checked)o33="Правильно"; else o33="Неправильно";
     if (R30[2].checked)o35="Правильно"; else o35="Неправильно";
     if (R31[1].checked)o36="Правильно"; else o36="Неправильно";
     
     if (C3.checked&&C5.checked&&C6.checked)o8="Правильно"; else o8="Неправильно";
     if (C8.checked&&C9.checked)o26="Правильно"; else o26="Неправильно";
     if (C11.checked&&C12.checked&&C14.checked)o28="Правильно"; else o28="Неправильно"; 
     if (C16.checked&&C18.checked&&C19.checked)o31="Правильно"; else o31="Неправильно";
     if (C20.checked&&C21.checked&&C22.checked)o34="Правильно"; else o34="Неправильно";
     if (C25.checked&&C27.checked&&C28.checked&&C29.checked)o37="Правильно"; else o37="Неправильно";
     
     alert(  '   1 - '+o1+  '      2 - '+o2+  '      3 - '+o3+   
           '\n   4 - '+o4+  '      5 - '+o5+  '      6 - '+o6+ 
           '\n   7 - '+o7+  '      8 - '+o8+  '      9 - '+o9+ 
           '\n 10 - '+o10+ '    11 - '+o11+ '     12 - '+o12+
           '\n 13 - '+o13+ '    14 - '+o14+ '     15 - '+o15+ 
           '\n 16 - '+o16+ '    17 - '+o17+ '     18 - '+o18+ 
           '\n 19 - '+o19+ '    20 - '+o20+ '     21 - '+o21+ 
           '\n 22 - '+o22+ '    23 - '+o23+ '     24 - '+o24+
           '\n 25 - '+o25+ '    26 - '+o26+ '     27 - '+o27+ 
           '\n 28 - '+o28+ '    29 - '+o29+ '     30 - '+o30+
           '\n 31 - '+o31+ '    32 - '+o32+ '     33 - '+o33+ 
           '\n 34 - '+o34+ '    35 - '+o35+ '     36 - '+o36+
           '\n 37 - '+o37); 
      }

    онлайн-тестирование, взято с сайта моей кафедры

    pereslavtsev, 05 Сентября 2017

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