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

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

    +5

    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
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    begin
                     G4.Caption:='X';
                     if G5.Caption='' then
                     begin
                       G5.Caption:='X';
                       if G6.Caption='' then
                       begin
                         G6.Caption:='X';
                         if G7.Caption='' then
                         begin
                           G7.Caption:='X';
                           if G8.Caption='' then G8.Caption:='X' else
                           if sg8=1 then
                              G8.Font.Style:=[fsBold,fsStrikeOut];
                         end else
                         if sg7=1 then
                            G7.Font.Style:=[fsBold,fsStrikeOut];
                       end else
                       if sg6=1 then
                          G6.Font.Style:=[fsBold,fsStrikeOut];
                     end else
                     if sg5=1 then
                        G5.Font.Style:=[fsBold,fsStrikeOut];
                   end else
                   if sg4=1 then
                      G4.Font.Style:=[fsBold,fsStrikeOut];
                 end else
                 if sg3=1 then
                    G3.Font.Style:=[fsBold,fsStrikeOut];
               end else
               if sg2=1 then
                  G2.Font.Style:=[fsBold,fsStrikeOut];
               if H2.Caption='' then H2.Caption:='X' else
               if sh2=1 then H2.Font.Style:=[fsBold,fsStrikeOut];
               if F2.Caption='' then
               begin
                 F2.Caption:='X';
                 if E3.Caption='' then
                 begin
                   E3.Caption:='X';
                   if D4.Caption='' then
                   begin
                     D4.Caption:='X';
                     if C5.Caption='' then
                     begin
                       C5.Caption:='X';
                       if B6.Caption='' then
                       begin
                         B6.Caption:='X';
                         if A7.Caption='' then A7.Caption:='X' else
                         if sa7=1 then
                         A7.Font.Style:=[fsBold,fsStrikeOut];
                       end else
                       if sb6=1 then
                       B6.Font.Style:=[fsBold,fsStrikeOut];
                     end else
                     if sc5=1 then
                     C5.Font.Style:=[fsBold,fsStrikeOut];
                   end else
                   if sd4=1 then
                   D4.Font.Style:=[fsBold,fsStrikeOut];
                 end else
                 if se3=1 then
                 E3.Font.Style:=[fsBold,fsStrikeOut];
               end else
               if sf2=1 then
               F2.Font.Style:=[fsBold,fsStrikeOut];
             end;
          6: begin //Король
        {E1}   if ((se1=1) and not ((E1.Caption<>'Ферзь') or (E1.Caption<>'Ладья') or (E1.Caption<>'Король')) or
        {D1}   ((sd1=1) and not ((E1.Caption='') and ((D1.Caption='Ферзь') or (D1.Caption='Ладья')))) or
        {C1}   ((sc1=1) and not (((E1.Caption='') and (D1.Caption='')) and ((C1.Caption='Ферзь') or (C1.Caption='Ладья')))) or
        {B1}   ((sb1=1) and not (((E1.Caption='') and (D1.Caption='') and (C1.Caption='')) and ((B1.Caption='Ферзь') or (B1.Caption='Ладья')))) or
        {A1}   ((sa1=1) and not (((E1.Caption='') and (D1.Caption='') and (C1.Caption='') and (B1.Caption='')) and ((A1.Caption='Ферзь') or (A1.Caption='Ладья')))) or
        {E2}   ((se2=1) and not ((E2.Caption='Слон') or (E2.Caption='Ферзь') or (E2.Caption='Пешка') or (E2.Caption='Король'))) or
        //ПРОДОВЖИТИ
        {D3}   ((sd3=1) and not ((E2.Caption='') and ((D3.Caption='Ферзь') or (D3.Caption='Слон')))) or
        {C4}   ((sc4=1) and not (((E2.Caption='') and (D3.Caption='')) and ((C4.Caption='Ферзь') or (C4.Caption='Слон')))) or
        {B5}   ((sb5=1) and not (((E2.Caption='') and (D3.Caption='') and (C4.Caption='')) and ((B5.Caption='Ферзь') or (B5.Caption='Слон')))) or
        {A6}   ((sa6=1) and not (((E2.Caption='') and (D3.Caption='') and (C4.Caption='') and (B5.Caption='')) and ((A6.Caption='Ферзь') or (A6.Caption='Ладья')))) or
        {F2}   ((sf2=1) and not (E2.Caption='Ладья') or (E2.Caption='Ферзь')) or
        {F3}   ((sf3=1) and not ((F2.Caption='') and ((F3.Caption='Ферзь') or (F3.Caption='Ладья')))) or
        {F4}   ((sf4=1) and not (((F2.Caption='') and (F3.Caption='')) and ((F4.Caption='Ферзь') or (F4.Caption='Ладья')))) or
        {F5}   ((sf5=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='')) and ((F5.Caption='Ферзь') or (F5.Caption='Ладья')))) or
        {F6}   ((sf6=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='') and (F5.Caption='')) and ((F6.Caption='Ферзь') or (F6.Caption='Ладья')))) or
        {F7}   ((sf7=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='') and (F5.Caption='') and (F6.Caption='')) and ((F7.Caption='Ферзь') or (F7.Caption='Ладья')))) or
        {F8}   ((sf8=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='') and (F5.Caption='') and (F6.Caption='') and (F7.Caption='')) and ((F8.Caption='Ферзь') or (F8.Caption='Ладья')))) or
        {G2}   ((sg2=1) and not (G2.Caption='Ферзь') or (G2.Caption='Слон')) or
        {H3}   ((sh3=1) and not ((G2.Caption='') and ((H3.Caption='Ферзь') or (H3.Caption='Слон')))) or
        {H1}   ((sh1=1) and not (H1.Caption'Ферзь') or (H1.Caption='Слон')) or
       {Кони}  ((sh2=1) and not (H2.Caption='Конь')) or ((sg3=1) and not (G3.Caption='Конь')) or  ((se3=1) and not (E3.Caption='Конь')) or  ((sd2=1) and not(D2.Caption='Конь'))
               ) then if (F1.Caption='') then F1.Caption:='X' else
               if sf1=1 then F1.Font.Style:=[fsBold,fsStrikeOut];
             end;

    Как-то на первом или втором курсе недоунивера возникло желание сделать шахматы в ООП на Паскале. Решил закодить 64 кнопки (8*8 поле). Сделал переменные для идентификации хода черных/белых, для 2 режимов, в первом из которых кликаешь на свою фигуру (надпись на кнопке) и тебе показывают доступные ходы ею (Х куда можно поставить фигуру, подчеркнутое название вражеской фигуры при возможность её забрать). Ты кликаешь, поле очищается от подсказок, фигура перемещается, проверка на шах/мат (ад), ход передается другому цвету фигур (Жирное начертание для определения) и режим взаимодействия с игровым полем опять переходит в выбор фигуры. Теоретически закодировав каждую кнопку на все возможные события шахматы были бы закончены полностью. Вот только спустя окончания кодировки первой кнопки я заYAYлся и забросил ибо говнокод вышел в 1000 строк на одну YAYдь кнопку. Разумеется, показать могу лишь часть

    Zick, 12 Февраля 2020

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

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Сижу я, короче, на работе сейчас, кофе пью из термоса и программирую на «Python».
     Вдруг через минуту начинаю чувствовать непереносимый запах говна.
     Ну, думаю, Россия че, оглядываюсь по сторонам на сидящих рядом программистов. 
    Вроде никаких людей маргинального вида нет. 
    У меня у самого тоже никаких сюрпризов не ощущается.
     Ну думаю, все, глючит меня. 
    Уже практически тянусь за экстренной таблеткой оланзапина в рюкзак, как вдруг с кресла прямо за мной встает коллега и идет к туалету. 
    Запах испражнений усиливается многократно, на лицах сидящих рядом людей возникают недовольные гримасы.
     Смотрю на его компьютер, а там открыт код на «PHP». 
    Он ушел, а запах некоторый остался до сих пор. 
    Я замечательно попил кофе.

    CkpunmoBbIu_nemyx, 07 Октября 2019

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

    +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
    <?php
    /**
     * $URL: svn://svn.subversion.ru/usr/local/svn/mzz/trunk/system/forms/validators/formHostnameRule.php $
     *
     * MZZ Content Management System (c) 2005-2007
     * Website : http://www.mzz.ru
     *
     * This program is free software and released under
     * the GNU/GPL License (See /docs/GPL.txt).
     *
     * @link http://www.mzz.ru
     * @version $Id: formHostnameRule.php 3864 2009-10-21 04:50:04Z zerkms $
     */
    /**
     * formHostnameRule: правило, проверяющее имя хоста
     *
     * @package system
     * @subpackage forms
     * @version 0.1.1
     */
    class formHostnameRule extends formAbstractRule
    {
        private $validTlds = array(
        'ac', 'ad', 'ae', 'aero', 'af', 'ag', 'ai', 'al', 'am', 'an', 'ao',
        'aq', 'ar', 'arpa', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb',
        'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'biz', 'bj', 'bm', 'bn', 'bo',
        'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cat', 'cc', 'cd',
        'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'com', 'coop',
        'cr', 'cu', 'cv', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do',
        'dz', 'ec', 'edu', 'ee', 'eg', 'er', 'es', 'et', 'eu', 'fi', 'fj',
        'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh',
        'gi', 'gl', 'gm', 'gn', 'gov', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu',
        'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il',
        'im', 'in', 'info', 'int', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm',
        'jo', 'jobs', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kr', 'kw',
        'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu',
        'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mil', 'mk', 'ml', 'mm',
        'mn', 'mo', 'mobi', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'museum', 'mv',
        'mw', 'mx', 'my', 'mz', 'na', 'name', 'nc', 'ne', 'net', 'nf', 'ng',
        'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', 'org', 'pa', 'pe',
        'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'pro', 'ps', 'pt',
        'pw', 'py', 'qa', 're', 'ro', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd',
        'se', 'sg', 'sh', 'si', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr',
        'st', 'su', 'sv', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj',
        'tk', 'tl', 'tm', 'tn', 'to', 'tp', 'tr', 'travel', 'tt', 'tv', 'tw',
        'tz', 'ua', 'ug', 'uk', 'um', 'us', 'uy', 'uz', 'va', 'vc', 've',
        'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'yu', 'za', 'zm',
        'zw'
        );
        protected function _validate($value)
        {
            if (preg_match('#^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $value)) {
                return true;
            }
            $domainParts = explode('.', $value);
            if (sizeof($domainParts) < 2) {
                return false;
            }
            if (strlen($value) > 254 || strlen($value) < 4) {
                return false;
            }
            $tld = array_pop($domainParts);
            if (!in_array(strtolower($tld), $this->validTlds)) {
                return false;
            }
            $validChars = 'a-z0-9\-';
            foreach ($domainParts as $part) {
                if (strpos($part, '-') === 0 || (strlen($part) > 3 && strpos($part, '--', 2) === 2) || substr($part, -1) === '-') {
                    return false;
                }
                if (!preg_match('#^[' . $validChars . ']{1,63}$#i', $part)) {
                    return false;
                }
            }
            return true;
        }
    }
    ?>

    Домены валидировали-валидировали, да недовалидировали.

    https://github.com/wiistriker/govnokod_legacy/blob/master/mzz/system/forms/validators/formHostnameRule.php

    gost, 17 Мая 2019

    Комментарии (38)
  5. Си / Говнокод #25194

    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
    #include <stdio.h>
    #include <conio.h>
    int main()
    {
    	int c;
    	while (1)
    	{
    		c=getch();
    		printf("%c",c/20);
    	}
    	return 0;
    }

    Шифратор 228

    PodvalniyHacker, 15 Декабря 2018

    Комментарии (38)
  6. C# / Говнокод #25113

    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
    string json = "{" +
                  "\"path\": " + EscapeForJson(path) + "," +
                  "\"cmd\": " + EscapeForJson(cmd) + "," +
                  "\"config\": {" +
                  "\"defaultPerms\": " + defaultPerms.ToString() + ", " +
                  "\"defaultCompPerms\": " + defaultCompPerms.ToString() + ", " +
                  "\"rules\": [";
    foreach (var rule in rules)
    {
        json += "{" +
                "\"path\": " + EscapeForJson(rule.path) + "," +
                "\"perms\": " + rule.perms.ToString() +
                "},";
    }
    
    if (rules.Length != 0)
    {
        json = json.Remove(json.Length - 1);  // remove last ','
    }
    json += "]}}";

    gost, 24 Ноября 2018

    Комментарии (38)
  7. Куча / Говнокод #24719

    +1

    1. 1
    -


    #
    ## #### #### ##### ######
    # # # # # # # #
    # # #### # # #####
    # ### # # ##### #
    # ### # # # # # # #
    ##### ### #### #### # # #


    # # ###### ##### # ###### # #### ## ##### # #### # #
    # # # # # # # # # # # # # # # # ## #
    # # ##### # # # ##### # # # # # # # # # # #
    # # # ##### # # # # ###### # # # # # # #
    # # # # # # # # # # # # # # # # # ##
    ## ###### # # # # # #### # # # # #### # #


    ###### ##### ##### #### #####
    # # # # # # # # #
    ##### # # # # # # # #
    # ##### ##### # # #####
    # # # # # # # # #
    ###### # # # # #### # #

    Konardyan, 05 Сентября 2018

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

    +3

    1. 1
    Почему Application стал так часто падать???

    А ещё csrf eггог-и nocTo9lHHo

    kir_rik, 29 Августа 2018

    Комментарии (38)
  9. Java / Говнокод #24342

    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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    package figury;
    import java.util.Scanner;
    public class figuremn {
    
    public static void main (String[] args){
    String [] monthyear = new String[12];
    monthyear [1] = "Январь";
    monthyear [2] = "Февраль";
    monthyear [3] = "Март";
    monthyear [4] = "Апрель";
    monthyear [5] = "май";
    monthyear [6] = "июнь";
    monthyear [7] = "июль";
    monthyear [8] = "август";
    monthyear [9] = "сентябрь";
    monthyear [10] = "октябрь";
    monthyear [11] = "ноябрь";
    monthyear [12] = "декабрь";
    System.out.println("Введите номер месяца");
    Scanner scan = new Scanner(System.in);
    String x = scan.nextLine;
    monthyear[]=x;
    {System.out.println(x);
    }
      }
    }

    Ray_Mints, 31 Мая 2018

    Комментарии (38)
  10. Си / Говнокод #23246

    +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
    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
    #include <stddef.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    char *concat(char *a, char *b)
    {
      char *ptr = malloc(strlen(a)+strlen(b)+6);
      if (ptr == NULL)
      {
        fprintf(stderr, "da ty ohuel!\n");
        exit(-1);
      }
      sprintf(ptr, "(%s)*(%s)", a, b);
      return ptr;
    }
    
    char *govno[255] = {"a"};
    
    void printfshit(const size_t pow, const char *mul_stuff)
    {
      printf("double pow_%zu(double a) {return %s;}\n\n", pow, mul_stuff);
    }
    
    void genshit(void)
    {
      //printfshit(0,"1");
      size_t end_ind = 1;
      size_t prev_stop = 0;
      size_t end_ind_tmp = 1;
      while (end_ind < 255)
      {
        for (size_t ind1 = 0; ind1 < end_ind_tmp; ind1++)
        {
          for (size_t ind2 = prev_stop; ind2 < end_ind_tmp; ind2++)
          {
            if ( 
                 ((ind1+1) + (ind2+1) < 256) &&
                 (govno[(ind1+1) + (ind2+1)-1] == NULL)
               )
            {
              govno[(ind1+1) + (ind2+1)-1] = concat(govno[ind1], govno[ind2]);
              end_ind++;
            }
          }
        }
        prev_stop = end_ind_tmp;
        end_ind_tmp = end_ind;
      }
      printfshit(1,govno[0]);
      for (size_t i = 1; i < 255; i++ )
      {
        printfshit(i+1,govno[i]);
        free(govno[i]);
      }
    }
    
    int main(void)
    {
      genshit();
      return 0;
    }

    Кодогенератор, написаный специально для Antervis
    http://govnokod.ru/23227#comment388895

    j123123, 08 Августа 2017

    Комментарии (38)
  11. C++ / Говнокод #23241

    +1

    1. 1
    2. 2
    3. 3
    CoolIntf::GetInstance().DoSomething();
    CoolIntf::GetInstance().DoSomethingElse();
    CoolIntf::GetInstance().DoAnything()

    для случая когда GetInstance() не инлайнится, кто-нибудь в крестах какое решение (без ручного введения временной переменной) для такого кода придумал?
    единственное что нашел это вот это: https://stackoverflow.com/a/2279253 .
    потому что "with" слишком общее слово которое в ж не гуглится.

    Dummy00001, 04 Августа 2017

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