1. C# / Говнокод #26619

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public DateTime Birth { get; }
    
    public int Age
    {
        get
       {
            var n = 0;
            while(Birth.AddYears(n + 1) < DateTime.Now) ++n;
            return n;
        }
    }

    Проверял работу у изворотливой студентки

    gravejohn4, 28 Апреля 2020

    Комментарии (20)
  2. Куча / Говнокод #26611

    0

    1. 1
    Тестовый оффтоп #1

    Чтобы в «NGK» заблокировать все комменты из этого поста — нажмите на крестик справа от его номера.

    gost, 28 Апреля 2020

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    function reclstr($txt1) {//утилизировать текст
    $util = sha1( $txt1 . rand(0,54424456));
    return $util;
    }

    govnokoduser2000, 28 Апреля 2020

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

    +1

    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
    https://habr.com/ru/post/497114/
    
    А, кстати о темплейтах. Рабочий проект, где каждый .cpp-файл компилируется по 5-7
    минут даже без оптимизаций? Время до первой диагностики компилятора в те же 5
    минут? Пердёж компилятора на десятки мегабайт в случае ошибок? Да, я сохранял в
    файл и замерял ради интереса. Потребление памяти компилятором в 5-10 гигов на
    файл? Билдсервер с 32 ядрами и 64 гигами памяти, на которой нельзя запускать
    больше чем этак 8 параллельных потоков компиляции? Проект на несколько десятков
    kloc, собирающийся на ней полчаса? Получите, распишитесь.
    
    И тулинг. Мне куда проще находить, на что у меня тратится память, в том же хаскеле,
    который, как известно, только для факториалов и годится. Системы сборки? Ха. Апгрейд
    компилятора для прода? Жди лет пять после релиза стандарта. Пакетный менеджер? Ха-ха.
    Reproducible builds? Ха-ха-ха. Все места, где я работал, на это либо вообще забивали,
    либо вкладывали какое-то совершенно неадекватное количество ресурсов. Я понимаю,
    почему так происходит, у этого всего есть абсолютно логичные и объективные причины,
    по-другому и выйти не могло, но я устал так жить.

    Какой багор )))

    j123123, 27 Апреля 2020

    Комментарии (304)
  5. C++ / Говнокод #26608

    +1

    1. 1
    file:///C:/Users/сергейкомп/Desktop/проекты/desktopui_framework/src/core/formloader.cpp

    govnokoduser2000, 27 Апреля 2020

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

    +1

    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
    <?php
    
    function qes2_key ( $key = null ) {
        $key = str_split( $key );
        $keycount = count( $key );
        $xspos = 1;
        $summ = 0;
        foreach( $key as $letter ) {
            $summ += ord( $letter ) * 2 + $xspos + ( $keycount / $xspos );
            $xspos++;
        }
        $summ = explode('.', $summ );
        return $summ[0];
    }
    	
    function qes2_encrypt ( $input, $key ) {
        $input = str_split( $input );
        $icount = count( $input );
        $rsumm = qes2_key( $key );
        $result = '';
        $xspos = 1;
        $xsdisp = 1;
        foreach( $input as $letter ) {
            $char = ord( $letter ) + ( $rsumm * $xspos ) - $xsdisp ;
            $result .= chr( $char );
            $xspos++;
            $xsdisp += 1;
        }
        return $result;
    }
    	
    function qes2_decrypt ( $input, $key ) {
        $input = str_split( $input );
        $icount = count( $input );
        $rsumm = qes2_key( $key );
        $result = '';
        $xspos = 1;
        $xsdisp = 1;
        foreach( $input as $letter ) {
            $char = ord( $letter ) - ( $rsumm * $xspos ) + $xsdisp ;
            $result .= chr( $char );
            $xspos++;
            $xsdisp += 1;
        }
        return $result;
    }

    qes2a encryption (c)

    govnokoduser2000, 27 Апреля 2020

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

    +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
    // file ceny.php
    $МС_1А_t = '29 000'; //Отходы производства белой бумаги (кроме газетной)
    $МС_1А_k = '29,0';
    $МС_2А_t = '17 000'; //Отходы производства всех видов белой бумаги в виде обрезков с линовкой и черно-белой или цветной полосой
    $МС_2А_k = '17,0';
    $МС_5Б_1_t = '11 500'; //Отходы производства гофрированного картона и его компонентов
    $МС_5Б_1_k = '11,5';
    $МС_5Б_2_t = '10 500'; //Отходы потребления гофрированного картона
    $МС_5Б_2_k = '10,5';
    $МС_6Б_t = '7 500'; //Отходы производства и потребления картона всех видов с печатью (кроме гофрокартона)
    $МС_6Б_k = '7,5';
    $МС_6Б_1_t = '13 500'; //Отходы производства картона только из беленых волокнистых материалов
    $МС_6Б_1_k = '13,5';
    $МС_7Б_1_t = '16 500'; //Отходы белой бумаги с черно-белой печатью не более 20%
    $МС_7Б_1_k = '16,5';
    $МС_7Б_2_t = '11 500'; //Отходы бумаги (кроме газетной) с черно-белой и цветной печатью, в том числе крашеные в массе
    $МС_7Б_2_k = '11,5';
    $МС_7Б_3_t = '9 500'; //Книги, журналы, брошюры, проспекты, каталоги
    $МС_7Б_3_k = '9,5';
    $МС_8В_t = '12 000'; //Отходы производства и потребления газет и газетной бумаги
    $МС_8В_k = '12,0';
    $МС_9В_t = '7 500'; //Бумажные гильзы, шпули, втулки
    $МС_9В_k = '7,5';
    
    // некст файл
    ... какой-то шаблон с выводом текста
    <?php
    			include_once "%ceny.php%";
    			
    			if($page_code == 'ms1a') echo "<p>Цена: до  {$МС_1А_t} руб. за тонну (до {$МС_1А_k} руб. за кг).</p>";
    			if($page_code == 'ms2a') echo "<p>Цена: до  {$МС_2А_t} руб. за тонну (до {$МС_2А_k} руб. за кг).</p>";
    			if($page_code == 'ms5b-1') echo "<p>Цена: МС-5Б/1 - до {$МС_5Б_1_t} руб. за тонну (до {$МС_5Б_1_k} руб. за кг).</p>";
    			if($page_code == 'ms5b-2') echo "<p>Цена: МС-5Б/2 - до {$МС_5Б_2_t} руб. за тонну (до {$МС_5Б_2_k} руб. за кг).</p>";
    			if($page_code == 'ms6b') echo "<p>Цена: МС-6Б - до {$МС_6Б_t} руб. за тонну (до {$МС_6Б_k} руб. за кг).</p>";
    			if($page_code == 'ms6b-1') echo "<p>МС-6Б/1 - до {$МС_6Б_1_t} руб. за тонну (до {$МС_6Б_1_k} руб. за кг).</p>";
    			if($page_code == 'ms7b-1') echo "<p>Цена: МС-7Б/1 - до {$МС_7Б_1_t} руб. за тонну (до {$МС_7Б_1_k} руб. за кг).</p>";
    			if($page_code == 'ms7b-2') echo "<p>МС-7Б/2 - до {$МС_7Б_2_t} руб. за тонну (до {$МС_7Б_2_k} руб. за кг).</p>";
    			if($page_code == 'ms7b-3') echo "<p>МС-7Б/3 - до {$МС_7Б_3_t} руб. за тонну (до {$МС_7Б_3_k} руб. за кг).</p>";
    			if($page_code == 'ms8v') echo "<p>Цена: до {$МС_8В_t} руб. за тонну (до {$МС_8В_k} руб. за кг).</p>";
    			if($page_code == 'ms9v') echo "<p>Цена: до {$МС_9В_t} руб. за тонну (до {$МС_9В_k} руб. за кг).</p>";
    			if($page_code == 'ms13v') echo "<p>Цена: до {$МС_13В_t} руб. за тонну (до {$МС_13В_k} руб. за кг).</p>";
    			if($page_code == 'othod-poliehtilena') echo "<p>Цена: до {$П_Э_t} руб. за тонну (до {$П_Э_k} руб. за кг).</p>";
    ?>

    Продолжение трилогии http://govnokod.ru/25730, так вот зачем это было нужно

    phpBidlokoder2, 27 Апреля 2020

    Комментарии (18)
  8. JavaScript / Говнокод #26605

    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
    20. 20
    $('#spheres__street-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__street-content').addClass('active');
                    });
    
                    $('#spheres__sport-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__sport-content').addClass('active');
                    });
    
                    $('#spheres__prom-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__prom-content').addClass('active');
                    });

    Когда не можешь загуглить, как делаются табы

    phpBidlokoder2, 27 Апреля 2020

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

    0

    1. 1
    IT Оффтоп #43

    #9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
    #10: https://govnokod.ru/25328 https://govnokod.xyz/_25328
    #11: (vanished) https://govnokod.xyz/_25436
    #12: (vanished) https://govnokod.xyz/_25471
    #13: (vanished) https://govnokod.xyz/_25590
    #14: https://govnokod.ru/25684 https://govnokod.xyz/_25684
    #15: https://govnokod.ru/25694 https://govnokod.xyz/_25694
    #16: https://govnokod.ru/25725 https://govnokod.xyz/_25725
    #17: https://govnokod.ru/25731 https://govnokod.xyz/_25731
    #18: https://govnokod.ru/25762 https://govnokod.xyz/_25762
    #19: https://govnokod.ru/25767 https://govnokod.xyz/_25767
    #20: https://govnokod.ru/25776 https://govnokod.xyz/_25776
    #21: https://govnokod.ru/25798 https://govnokod.xyz/_25798
    #22: https://govnokod.ru/25811 https://govnokod.xyz/_25811
    #23: https://govnokod.ru/25863 https://govnokod.xyz/_25863
    #24: https://govnokod.ru/25941 https://govnokod.xyz/_25941
    #25: https://govnokod.ru/26026 https://govnokod.xyz/_26026
    #26: https://govnokod.ru/26050 https://govnokod.xyz/_26050
    #27: https://govnokod.ru/26340 https://govnokod.xyz/_26340
    #28: https://govnokod.ru/26372 https://govnokod.xyz/_26372
    #29: https://govnokod.ru/26385 https://govnokod.xyz/_26385
    #30: https://govnokod.ru/26413 https://govnokod.xyz/_26413
    #31: https://govnokod.ru/26423 https://govnokod.xyz/_26423
    #32: https://govnokod.ru/26440 https://govnokod.xyz/_26440
    #33: https://govnokod.ru/26449 https://govnokod.xyz/_26449
    #34: https://govnokod.ru/26456 https://govnokod.xyz/_26456
    #35: https://govnokod.ru/26463 https://govnokod.xyz/_26463
    #36: https://govnokod.ru/26508 https://govnokod.xyz/_26508
    #37: https://govnokod.ru/26524 https://govnokod.xyz/_26524
    #38: https://govnokod.ru/26539 https://govnokod.xyz/_26539
    #39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
    #40: https://govnokod.ru/26568 https://govnokod.xyz/_26568
    #41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
    #42: https://govnokod.ru/26600 https://govnokod.xyz/_26600

    gost, 27 Апреля 2020

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

    +1

    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
    CStringUtf8::iterator& CStringUtf8::iterator::operator++() 
    { 
        m_ptr += CCharUtf8Ref::s_bytesForUTF8Sequence[*m_ptr]; 
        return *this;
    }
    
    CStringUtf8 CStringUtf8::subString( size_t startChar, size_t count ) const
    {
        iterator start = this->begin();
        while( start!=this->end() && startChar>0 )
        {
            start++;
            startChar--;
        }
    
        iterator afterLast = start;
        while( afterLast!=this->end() && count!=0 )
        {
            afterLast++;
            count--;
        }
        return CStringUtf8( start.c_ptr(), afterLast.c_ptr() );
    }
    
    CStringUtf8::iterator CStringUtf8::findSubString( CStringUtf8 const& sample, CStringUtf8::iterator startFrom ) const
    {
        CStringUtf8::iterator pos = startFrom;
        CStringUtf8::iterator foundPos = pos;
        CStringUtf8::iterator samplePos = sample.begin();
    
        for( ;; )
        {
            if( samplePos==sample.end() )
                return foundPos;
    
            if( pos==this->end() )
                return this->end();
    
            if( *samplePos == *pos )
            {
                if( samplePos==sample.begin() )
                    foundPos = pos;
                samplePos++;
                pos++;
            }
            else
            {
                if( samplePos==sample.begin() )
                    pos++;
                samplePos = sample.begin();
            }
        }
    }
    
    std::vector<CStringUtf8> CStringUtf8::componentsSeparatedByString( CStringUtf8 const& separator ) const
    {
        std::vector<CStringUtf8> comps;
    
        size_t sepLen = std::distance( separator.begin(), separator.end() );
        size_t startPos = 0;
        CStringUtf8::iterator itStart = begin();
    
        if( sepLen > 0 )
        {
            CStringUtf8::iterator itEnd;
            while( ( itEnd = findSubString( separator, itStart ) ) != end() )
            {
                size_t cnt = std::distance( itStart, itEnd );
                CStringUtf8 str = subString( startPos, cnt );
                comps.push_back( str );
    
                itStart = itEnd;
                std::advance( itStart, sepLen );
    
                startPos += cnt + sepLen;
            }
        }
    
        size_t cnt = std::distance( itStart, end() );
        if( cnt > 0 )
        {
            CStringUtf8 str = subString( startPos, cnt );
            comps.push_back( str );
        }
    
        return comps;
    }

    Привычный для всех плюсовиков велосипед по работе со строкой (походу свой в каждом проекте).
    Более 10 лет не замечали тормоза в componentsSeparatedByString, который 100 Кб текст разбирал на строки за 5-10 сек (!!!).

    jojaxon, 26 Апреля 2020

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