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

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

    +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
    #include <stdio.h>
    #include <string.h>
    #include "s_gets.h"
    #define SIZE 30
    
    void revers(char *);
    
    int main(){
        char str[SIZE];
        s_gets(str, SIZE);
        revers(str);
        puts(str);
        return 0;
    }
    
    void revers(char * str){
        int size_ = strlen(str) - 1;
        char tmp;
        for(int i = size_; i >= 0; i--){
            tmp = str[i];
            str[i] = str[size_ - i];
            str[size_ - i] = tmp;
        }
    }

    https://ru.stackoverflow.com/questions/1173617/Изменения-строки-в-функции

    > Собственно задание заключается в написании функции, которая заменяет содержимое указанной строки этой же строкой, но с обратным порядком следования символов. Почему строка не переворачивается?


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

    OCETuHCKuu_nemyx, 03 Сентября 2020

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Чем обусловлена течка по сильной типизации, если она крайне неудобна?
    К примеру, в "PHP" я могу спокойно написать код, подобный приведённому ниже,
    и не надо будет придумывать всё новые и новые названия для переменных:
    
    $count='microsoft,apple,amazon';
    $count=explode(',', $count);
    $count=count($count);
    $count=$count.' шт.';

    SteadfastTinCock, 13 Июля 2019

    Комментарии (164)
  4. Pascal / Говнокод #12202

    +75

    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
    procedure TForm1.RunCode(Code:String;A,B:Cardinal);
    var
    i,j:Cardinal;
    dpth:Word;
    itrCounter:Integer;
    ans:Integer;
    begin
     i:=A-1;
      repeat
       i:=i+1;
        if Code[i]='>' then
         if p=30000 then p:=1 else p:=p+1;
        if Code[i]='<' then
         if p=1 then p:=30000 else p:=p-1;
        if Code[i]='+' then allspace[p]:=allspace[p]+1;
        if Code[i]='-' then allspace[p]:=allspace[p]-1;
        if Code[i]='.' then Memo2.Lines.Text:=Memo2.Lines.Text + Chr(allspace[p]);
        if Code[i]='[' then
         begin
          dpth:=0;
          j:=i;
          repeat
           if (Code[j]=']') and (dpth>0) then dpth:=dpth-1;
           j:=j+1;
           if Code[j]='[' then dpth:=dpth+1;
           if j>B then
            begin
             ShowMessage('Обнаружен незакрытый цикл. Выполнение остановится');
             running:=False;
             Exit;
            end;
          until (Code[j]=']') and (dpth=0);
          itrCounter:=0;
          while allspace[p]<>0 Do
           begin
            if running=False then Exit;
            RunCode(Memo1.Text,i+1,j-1);
            itrCounter:=itrCounter+1;
            if itrCounter=10000000 then
             begin
              ans:=MessageDlg('Выполнение программы вероятно зациклилось (прошло уже 10 000 000 итераций). Возможно код содержит ошибки.' + #13 + 'Остановить выполнение?',mtConfirmation,[mbYes,mbNo],0);
              if ans=mrYes then running:=False;
              if ans=mrNo then itrCounter:=0;
             end;
           end;
          i:=j;
         end;
        if Code[i]=',' then EnterChar;
       Application.ProcessMessages;
      until (i>=B) or (running=False);
    end;

    Процедура интерпретации brainfuck кода

    SmseR, 27 Ноября 2012

    Комментарии (164)
  5. Pascal / Говнокод #27031

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // добавляем новые ссылки
      for i := 0 to ATags.Count - 1 do
      begin
        // так мне кажется лучше
        Application.ProcessMessages;

    кому или чему лучше кроме тебя, автор ?

    xoodoo, 15 Октября 2020

    Комментарии (163)
  6. Python / Говнокод #26374

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    _RE_DESCRIPTION_TAG_OPEN = re.compile(r'<p\s+class="description">'.encode('utf-8'))
    _RE_DESCRIPTION_TAG_CLOSE = re.compile(r'</p>\s*<p\s+class="author">'.encode('utf-8'))
    def replace_description_tag(content, new_tag):
        content = _RE_DESCRIPTION_TAG_OPEN .sub(f'<{new_tag} class="description">'.encode('utf-8'), content)
        return    _RE_DESCRIPTION_TAG_CLOSE.sub(f'</{new_tag}><p class="author">'.encode('utf-8'), content)

    Парсить HTML регулярками — нельзя. Но если HTML невалидный — то можно!

    А дело в том, что ГК генерирует говно, которое пришлось фиксить таким вот диким образом, см. https://govnokod.ru/26373#comment522056.

    gost, 21 Января 2020

    Комментарии (163)
  7. Java / Говнокод #24731

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    final Optional<Customer> customer = Optional.ofNullable(customerId)
        .map(custId -> customerService.getById(custId)
                .map(cust -> Optional.of(cust))
                .orElseThrow(() -> new NoSuchCustomerException(custId)))
        .orElse(Optional.empty());

    Попытка функционального программирования, когда в язык добавили монаду Optional, но не добавили монаду Try.

    wissenstein, 07 Сентября 2018

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

    −1

    1. 1
    2. 2
    - $pending = $this->$tag['callback']($open['data'], $open['option']);
    + $pending = $this->{$tag['callback']}($open['data'], $open['option']);

    Копаюсь в сорцах говнокода.
    В PHP 7 поменяли приоритет, пол часа не мог понять что за хуйня.

    inho, 08 Марта 2018

    Комментарии (163)
  9. C# / Говнокод #13001

    +139

    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
    class MainClass
        { 
            public static char[,] titato = new char[3, 3] { { ' ', ' ', ' ' }, { ' ', ' ', ' ' }, { ' ', ' ', ' ' } };
            static bool CheckWin(char s)
            {
                if ((titato[0, 0] == titato[1, 1] & titato[1, 1] == titato[2, 2] & titato[0, 0] != ' ') ||
                      (titato[0, 1] == titato[0, 2] & titato[0, 2] == titato[0, 0] & titato[0, 1] != ' ') ||
                       (titato[1, 1] == titato[1, 2] & titato[1, 2] == titato[1, 0] & titato[1, 1] != ' ') ||
                        (titato[2, 1] == titato[2, 2] & titato[2, 2] == titato[2, 0] & titato[2, 1] != ' ') ||
                         (titato[1, 0] == titato[2, 0] & titato[2, 0] == titato[0, 0] & titato[1, 0] != ' ') ||
                          (titato[1, 1] == titato[2, 1] & titato[2, 1] == titato[0, 1] & titato[1, 1] != ' ') ||
                           (titato[1, 2] == titato[2, 2] & titato[2, 2] == titato[0, 2] & titato[1, 2] != ' ') ||
                            (titato[2, 0] == titato[1, 1] & titato[1, 1] == titato[0, 2] & titato[2, 0] != ' '))
                {
                    return true;
                }
                return false;
            } 
            public static void PrintTicTacToe(char s)
            { 
                Console.Clear();            
                Console.Write(" ");            
                Console.BackgroundColor = ConsoleColor.White; 
                for (int i = 0; i < titato.GetLength(0); i++)            {
                     Console.Write(" {0} ", i); 
                } 
                Console.WriteLine(); 
                for (int i = 0; i < titato.GetLength(0); i++)            {
                     Console.BackgroundColor = ConsoleColor.White;
                     Console.Write("{0}", i);
                     for (int j = 0; j < titato.GetLength(1); j++)                { 
                        Console.BackgroundColor = ConsoleColor.Black;
                         if (titato[i, j] == 'x')                    {
                            Console.ForegroundColor = ConsoleColor.Red; 
                        }
                        else if (titato[i, j] == 'o')                    { 
                            Console.ForegroundColor = ConsoleColor.Green; 
                        } 
                        else                    { 
                            Console.ForegroundColor = ConsoleColor.Black;
                         }
                         Console.Write(" {0} ", titato[i, j]); 
                    } 
                    Console.WriteLine(); 
                } 
                Console.BackgroundColor = ConsoleColor.White; 
                Console.ForegroundColor = ConsoleColor.Black;
                if (CheckWin(s))            {
                    Console.WriteLine(s + " win!!!");                
                }            
            }
             public static void PushXO(int i, int j, char s)
            { 
                titato[i, j] = s; 
            }
             public static void Main(string[] args)
            { 
                bool symbolX = true; 
                char s = 'x'; 
                int i = 0, j = 0; 
                do            { 
                    Console.WriteLine("TIC TAC TOE!"); 
                    PrintTicTacToe(s); 
                    if (symbolX == true)                {                    
                        Console.WriteLine("Ходит Х");
                        Console.WriteLine("Введите номер столбца а затем введите номер строки:"); 
                        s = 'x'; 
                        symbolX = false;  
                    } 
                    else                { 
                        Console.WriteLine("Ходит О");
                        Console.WriteLine("Введите номер столбца а затем введите номер строки:");
                        s = 'o';                    
                        symbolX = true; 
                    } 
                     i = int.Parse(Console.ReadLine()); 
    
                    j = int.Parse(Console.ReadLine());
     
                    PushXO(j, i, s);
     
                    //   Console.ReadLine();
     
                    PrintTicTacToe(s);
     
     
                } while (true);
     
            }

    Крестики-нолики

    Psilon, 14 Мая 2013

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

    +61

    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
    <html>
    
    <head>
      <title>В Контакте | Страницы юзера</title>
        <style type="text/css">
        	body{
        		background: black;
        		color: #D1D1D1;
        		font-family: "Trebuchet MS", Verdana, Geneva, Arial, Helvetica, sans-serif;
        		font-size: 1.2em;
        	}
        	div.body{
        		margin-left: auto;
        		margin-right: auto;
        		width: 520px;
        	}
        	a{color: #D1D1D1; text-decoration: none;}
        	a:hover{color: #3e9af2; text-decoration: underline;}
        	li{white-space: nowrap; list-style: none;}
        	input{
        		background: black;
        		color: #D1D1D1;
        		border:none;
        		border-bottom: 1px dotted #D1D1D1;
        		font-family: "Trebuchet MS", Verdana, Geneva, Arial, Helvetica, sans-serif;
        		font-size: 1.2em;
        		margin-bottom: -2px;
        	}
        </style>
    	<script type="text/javascript">
    	<!--//
    	function set_id(){
    		var user_id_1 = document.getElementById('user_id').value.replace(/[^\d]/g, "");
    		var user_id_2 = user_id_1 + '&' + Math.round(Math.random() * 999999);
    
    		var user_links = '';
    		user_links += '<ul>';
    		user_links += '	<li><a href="http://vkontakte.ru/id' + user_id_1 + '?' + Math.round(Math.random() * 999999) + '" target="_blank">Главная страница</a></li>';
    		user_links += '	<li>';
    		user_links += '		<a href="http://vkontakte.ru/wall.php?id=' + user_id_2 + '" target="_blank">Стена</a>';
    		user_links += '		<ul>';
    		user_links += '			<li><a href="http://vkontakte.ru/wall.php?act=write&id=' + user_id_2 + '" target="_blank">Оставить сообщение</a></li>';
    		user_links += '			<li><a href="http://vkontakte.ru/graffiti.php?act=draw&to_id=' + user_id_2 + '" target="_blank">Оставить графити</a></li>';
    		user_links += '			<li><a href="http://vkontakte.ru/photos.php?to_id=' + user_id_2 + '" target="_blank">Оставить фото</a></li>';
    		user_links += '			<li><a href="http://vkontakte.ru/video.php?to_id=' + user_id_2 + '" target="_blank">Оставить видио</a></li>';
    		user_links += '			<li><a href="http://vkontakte.ru/audio.php?to_id=' + user_id_2 + '" target="_blank">Оставить аудио</a></li>';
    		user_links += '		</ul>';
    		user_links += '	</li>';
    		user_links += '	<li><a href="http://vkontakte.ru/mail.php?act=write&to=' + user_id_2 + '" target="_blank">Отправить сообщение</a></li>';
    		user_links += '	<li><a href="http://vkontakte.ru/friend.php?id=' + user_id_2 + '" target="_blank">Друзья</a></li>';
    		user_links += '	<li><a href="http://vkontakte.ru/photos.php?id=' + user_id_2 + '" target="_blank">Альбомы</a></li>';
    		user_links += '	<li><a href="http://vkontakte.ru/photos.php?act=user&id=' + user_id_2 + '" target="_blank">Фото с юзером</a></li>';
    		user_links += '	<li><a href="http://pda.vkontakte.ru/taggedphotos' + user_id_1 + '" target="_blank">Фото с юзером, если надо посмотреть скрытые фото</a></li>';
    		user_links += '	<li><a href="http://vkontakte.ru/video.php?id=' + user_id_2 + '" target="_blank">Видeо</a></li>';
    		user_links += '	<li><a href="http://vkontakte.ru/questions.php?mid=' + user_id_2 + '" target="_blank">Вопросы</a></li>';
    		user_links += '	<li><a href="http://vkontakte.ru/notes.php?id=' + user_id_2 + '" target="_blank">Заметки</a></li>';
    		user_links += '	<li><a href="http://vkontakte.ru/apps.php?mid=' + user_id_2 + '" target="_blank">Приложения</a></li>';
    		user_links += '	<li><a href="http://vkontakte.ru/groups.php?mid=' + user_id_2 + '" target="_blank">Группы</a></li>';
    		user_links += '</ul>';
    
            document.title = 'В Контакте | Страницы юзера id' + user_id_1;
            document.getElementById('user_id').value = user_id_1;
    		document.getElementById('user_pages').innerHTML = user_links;
    	}
    	//-->
    	</script>
    </head>
    <body onLoad="set_id()">
    	<div class="body">
    		Страницы юзера id<input name="user_id" id="user_id" type="text" value="1" onKeyUp="set_id()" onKeyPress="set_id()" onPaste="set_id()">
    		<div id="user_pages"></div>
    		<noscript><p align="center">Ипать))) ... ктож а таком старье сидит)....<br />Включи JavaScript!</p></noscript>
    		<p align="center">by Dr.Freez</p>
    	</div>
    </body>
    
    </html>

    говницо)))

    guest, 23 Ноября 2008

    Комментарии (163)
  11. JavaScript / Говнокод #27556

    +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
    function foo(arg: any) {
        if (typeof arg === "string") {
            // We know this is a string now.
            print(<string>arg);
        }
    }
    
    function main() {
        foo("Hello");
        foo(1);    
    
        print("done.");
    }

    я вам новый говнокодец притарабанил.... вот будете как настоящие жабаскриптеры в нативе

    ASD_77, 11 Августа 2021

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