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

    В номинации:
    За время:
  2. Куча / Говнокод #12482

    +130

    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
    import std.stdio; 
    class Parent{ } 
    class Another{ } 
    class Child: Parent
    {
      Another data;
      alias data this;  
      this()
      {
      data = new Another;
      }
    }
     void test(Parent t){writeln("Parent: ", t);}
     void test(Another t){writeln("Another: ", t);}
     void main() { 
        auto Me = new Child();    
        test(Me);
    }

    Интуитивного свежачка вам.
    http://ideone.com/qEDzz
    http://ideone.com/9mB8S

    LispGovno, 27 Января 2013

    Комментарии (47)
  3. C# / Говнокод #12466

    +130

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public XDocument GetHelpFile(string path)
    {
          try
          {
            return _dataFacade.LoadDocument(path);
          }
          catch
          {
            return null;
          }
    }

    taburetka, 23 Января 2013

    Комментарии (6)
  4. Куча / Говнокод #12214

    +130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    perft :: Int -> Position -> Int
    perft depth pos 
    	| depth <= 0 = 1
    	| otherwise  = sum . map (perft $ depth - 1) $ legalPositions where
    		legalPositions = filter isLegalPosition nextpositions
    		nextpositions = map (\move -> makeMove move pos) $ (moves pos)

    Fai, 28 Ноября 2012

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

    +130

    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
    #include <stdlib.h>
     
    struct no_matter
    {
        int some_field;
    };
     
    struct matter *do_stuff(void)
    {
        struct no_matter *m = calloc(1, sizeof *m);
        return m;
    }
     
    int main(void)
    {
        struct no_matter *m = do_stuff();
        free(m);
        return 0;
    }

    Сегодня выполняю роль гумна. В сишке можно возвращать указатель на непонятно откуда взявшуюся необъявленную ранее структуру и код будет компиляться (ладно хоть пишет невнятные ворнинги, только благодаря им нашёл опечатку в одной букве в имени структуры в рабочем коде). Понятно, что все указатели одинаково числа, но всё равно как-то некрасиво. Хацкелисты негодуэ, даёшь монаду Ptr

    http://ideone.com/3SABHW

    roman-kashitsyn, 27 Ноября 2012

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

    +130

    1. 1
    void RetreiveAddressInfo(ref string shipToName, ref string streetAddress, ref string streetAddress2, ref string city, ref string state, ref string zip);

    abatishchev, 25 Октября 2012

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

    +130

    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
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Centering div content in 2012 using CSS</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <style>
    
    /* align horizontally */
    .fu { width: 100%; text-align: center; }
    
    /* align vertically */
    @media all and (min-height:0px) { .fu { margin-top: 0px; }}
    @media all and (min-height:2px) { .fu { margin-top: 1px; }}
    @media all and (min-height:4px) { .fu { margin-top: 2px; }}
    @media all and (min-height:6px) { .fu { margin-top: 3px; }}
    @media all and (min-height:8px) { .fu { margin-top: 4px; }}
    @media all and (min-height:10px) { .fu { margin-top: 5px; }}
    @media all and (min-height:12px) { .fu { margin-top: 6px; }}
    @media all and (min-height:14px) { .fu { margin-top: 7px; }}
    @media all and (min-height:16px) { .fu { margin-top: 8px; }}
    @media all and (min-height:18px) { .fu { margin-top: 9px; }}
    @media all and (min-height:20px) { .fu { margin-top: 10px; }}
    @media all and (min-height:22px) { .fu { margin-top: 11px; }}
    .....
    .....
    .....
    @media all and (min-height:1994px) { .fu { margin-top: 997px; }}
    @media all and (min-height:1996px) { .fu { margin-top: 998px; }}
    @media all and (min-height:1998px) { .fu { margin-top: 999px; }}
    
    
    </style>
    </head>
    <body>
    <div class="fu">horizontally and vertically centered</div>
    </body>
    </html>​

    Центрируем содержимое дива по горизонтали и вертикали :) http://jsfiddle.net/ykrBh/

    makc3d, 02 Октября 2012

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

    +130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <div id="busyList" class="busyList">
        <div id="busyList" class="busyList">...</div>
        <div id="busyList" class="busyList">...</div>
        <div id="busyList" class="busyList">...</div>
        <div id="busyList" class="busyList">...</div>
        <div id="busyList" class="busyList">...</div>
        <div id="busyList" class="busyList">...</div>
    </div>

    Как-то даже грустно становится...

    somnambulism, 20 Сентября 2012

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

    +130

    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
    /*
    	 * Это массив объектов данных мануала. Один элемент - одна ступень.
    	 * У объектов может быть указан checkpoint:Boolean - место, к которому вернется игрок, при закрытии игры
    	 * У каждого объекта должен быть указан type:String, в зависимости от этого меняются другие свойства.
    	 * Для создания нового типа ступени туториала - необходимо создать класс, наследующий ITutorialData
    	 * и добавить соотвествующую запись в showStep::TutorialManager
    	 * Виды type:
    		 * dialog - диалоговое окно, атрибуты:
    			 * sex:Boolean - какого персонажа показывать в окне
    			 * descr:String - текст диалогового окна
    		 * pointer - стрелка, указывающая на кнопку
    			 * x,y:int - координаты кнопки
    			 * width,height:uint - размеры кнопки
    			 * x_a,y_a:int - координаты стрелки
    			 * angle:int - поворот стрелки, рекомендуемые значения: 0, 90, -90, 180
    			 * необязательные:
    				 * startfunc:Function - функция, выполняемая ПРИ переходе на эту ступень
    				 * endfunc:Function -  функция, выполняемая ПОСЛЕ нажатия кнопки
    		 * handler - слушатель событий
    		 * target:EventDispatcher - объект, на который подпишется туториал
    		 * event:String - название события, на которое подпишется туториал
    		 * необязательные:
    				 * startfunc:Function - функция, выполняемая ДО подписки на событие
    				 * eventDispatchFunction:Function - функция, выполняемая ВО ВРЕМЯ возникновения события
    				 * endfunc:Function -  функция, выполняемая ПОСЛЕ возникновения события
    		 *  handler-pointer - слушатель событий, показывающий стрелку
    			 * x_a,y_a:int - координаты стрелки
    			 * target:EventDispatcher - объект, на который подпишется туториал
    			 * event:String - название события, на которое подпишется туториал
    			 * необязательные:
    				 * startfunc:Function - функция, выполняемая ДО подписки на событие
    				 * eventDispatchFunction:Function - функция, выполняемая ВО ВРЕМЯ возникновения события
    				 * endfunc:Function -  функция, выполняемая ПОСЛЕ возникновения события 
    	 * Спасибо за внимание
     */			
    public static var data:Array;

    После такого комментария становится страшно что-то трогать

    KirAmp, 31 Июля 2012

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

    +130

    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
    int print_entry(const char* name, const char* dir,const struct stat* st)
    {
      if(!S_ISDIR(st->st_mode)){
          if(S_ISREG(st->st_mode)){
            printf("<file type=\"regular file\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
          };
          if(S_ISCHR(st->st_mode)){
            printf("<file type=\"charcter device\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
          }
          if(S_ISBLK(st->st_mode)){
            printf("<file type=\"block device\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
          }
          if(S_ISFIFO(st->st_mode)){
            printf("<file type=\"FIFO(named pipe)\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
          }
          if(S_ISLNK(st->st_mode)){
             char *linkname;
             ssize_t r;
             char *lname=strcat(dir,"");
             linkname =  new char[st->st_size + 1];
             if (linkname == NULL) {
                fprintf(stderr, "insufficient memory\n");
                exit(EXIT_FAILURE);
             }
            r=readlink(lname, linkname, st->st_size + 1);
            if (r < 0) {
              return 0;
            }
               if (r > st->st_size) {
            fprintf(stderr, "symlink increased in size "
                            "between lstat() and readlink()\n");
            exit(EXIT_FAILURE);
        }
    
            linkname[st->st_size] = '\0';
            printf("<file type=\"symbolic link\" owner=\"%d\" group=\"%d\" linkname=\"%s\">%s/%s</file>\n",st->st_uid,st->st_gid,linkname,dir,name);
          }
          if(S_ISSOCK(st->st_mode)){
            printf("<file type=\"socket\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
          }
        }
        return 0;
    }
     
    int main(int argc, char* argv[])
    {
    if(argc != 2)
        {
        fprintf(stderr, "Usage: %s DIR\n", argv[0]);
        exit(1);
        }
        printf("<dir name=\"%s\">\n",argv[1]);
        walk(argv[1], print_entry, 1,0);
        printf("</dir>",argv[1]);
    }

    Создание xml файла всех директорий, поддиректорий и их файлов

    AliceGoth, 22 Июня 2012

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

    +130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Вакансия: Программист Java
    Требования:
        ....
        знание компьютерных программ: Java, pl/sql, Eclipse, Oracle Repotrs приветствуется;
        ....

    Не совсем то, но не мог пройти мимо.

    -EZ-, 17 Мая 2012

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