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

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

    +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
    (() => {
    const urlPrefix = 'https://distrochooser.de/en/';
    const msgs = [];
    let msg = '';
    for (let i = 479076; i > 0; --i) {
    const url = urlPrefix + i;
    if (msg.length + url.length + 1 < 2000) {
    msg += '\n';
    msg += url;
    } else {
    msgs.push(msg);
    msg = url;
    }
    }
    return msgs;
    })()

    Проходим мимо, не обращаем внимания.

    Ведутся SEO-работы.

    Needless, 30 Апреля 2020

    Комментарии (74)
  3. 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)
  4. C++ / Говнокод #26608

    +1

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

    govnokoduser2000, 27 Апреля 2020

    Комментарии (41)
  5. 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)
  6. 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)
  7. PHP / Говнокод #26602

    +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
    for ($cycle = 1; $cycle <= 6; $cycle++) {
        $all_tasks = get_all_tasks();
        if ($all_tasks) {
            foreach($all_tasks as $one_task) {
                $lock_file_abs = __DIR__.'/locks/run_'.$one_task['id'];
                $fp = fopen($lock_file_abs,"w+");
                if (flock($fp, LOCK_EX | LOCK_NB)) {
                    solve_one_task($one_task);
                    flock($fp, LOCK_UN);
                }
                else {
                    #не можем запускать обработку задачи
                }
                fclose($fp);
                unlink($lock_file_abs);
            }
        }
        sleep(10);
    }

    «Как запускать cron чаще, чем раз в минуту при помощи PHP»
    https://habr.com/ru/post/498934/

    gost, 25 Апреля 2020

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

    +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
    char *CHudTextMessage::LocaliseTextString( const char *msg, char *dst_buffer, int buffer_size )
    {
    	char *dst = dst_buffer;
    	for ( char *src = (char*)msg; *src != 0 && buffer_size > 0; buffer_size-- )
    	{
    		if ( *src == '#' )
    		{
    			// cut msg name out of string
    			static char word_buf[255];
    			char *wdst = word_buf, *word_start = src;
    			for ( ++src ; *src >= 'A' && *src <= 'z'; wdst++, src++ )
    			{
    				*wdst = *src;
    			}
    			*wdst = 0;

    Тут недавно слили исходники «Team Fortress 2» и «Counter Strike: Global Offense» — и в соответствующих местах начался вой игроков: кошмар, мы все умрём, нас всех взломают!

    gost, 23 Апреля 2020

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

    +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
    function connect( $db_user, $db_pass, $db_name, $db_location )
     {
     $db_location = explode( ":", $db_location );
     if ( isset( $db_location[1] ) ) {
      $this->db_object = @mysqli_connect( $db_location[0], $db_user, $db_pass, $db_name, $db_location[1] );
      }
     else {
      $this->db_object = @mysqli_connect( $db_location[0], $db_user, $db_pass, $db_name );
      }
     if ( ! $this->db_object ) {
      $this->display_error( mysqli_connect_error(  ), '1' );
      }
     $this->mysql_version = mysqli_get_server_info( $this->db_object );
     mysqli_query( $this->db_object, "SET NAMES '" . COLLATE . "'" );
     mysqli_set_charset( $this->db_object, "utf8" );
     return true;
     }

    https://profiphp.ru/useful/class_mysqli.html
    немного ООП ПХП

    MAKAKA, 22 Апреля 2020

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

    +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
    <?php 
    
    
    class Db_object
    {
    
    protected static $db_table="users";
    public static  function find_all(){
        global $database;
    return static::find_by_query("SELECT * FROM ".static::$db_table." ");
    }
    
    public static  function find_by_id($id){
        global $database;
     $raise=static::find_by_query("SELECT * FROM  ".static::$db_table." WHERE id= $id LIMIT 1");
     return !empty($raise) ? array_shift($raise): false;
    
    
    }
    
    
    
    public static  function find_by_query($sql){
        global $database;
    $raise=$database->query($sql);
    $object_array=array();
    while ($row=mysqli_fetch_array($raise)) {
        $object_array[]=static::instantation($row);
    
    }
     return $object_array;
    }
    
    // тут еще всякое говно

    https://stackoverflow.com/questions/61362010/fatal-error-class-db-object-not-found-in-c-xampp-htdocs-cms-pro-admin-includ - ООП ЦМС ПРО АДМИН говнокодер

    pahhan, 22 Апреля 2020

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

    +1

    1. 1
    Бесконечный оффтоп имени Борманда #3

    #1: https://govnokod.ru/25864 https://govnokod.xyz/_25864
    #2: https://govnokod.ru/25921 https://govnokod.xyz/_25921

    gost, 30 Марта 2020

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