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

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

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Расскажу одну говно-историю. Про то как разработчики php, заботятся о финансовом состоянии программистов на этом самом php.
    Есть некая фирма которая купила, информационный продукт у другой и все это работала несколько месяцев на серваке предыдущего владельца.  
    И вот неделю назад бывший владелец сказал съезжайте мне сервер нужен.  Новые владельцы вернее их админ благополучно все перетащил на другой сервер, 
    все вроде запустилось.  Но, что все стало работать не правильно и местами даже перестало.  Админ ебся с этим продуктом до вчерашнего дня, но без результата.  
    В общем  звонит мне такой вечером "Вася выручай не заводится, тебе за работу 50к рублей".   Я аж проснулся, этож блядь целая выплата по ипотеке.   
    В общем стал разбираться, проект в кодировке win 1251. Это меня сразу насторожило. Путем не долгой отладки я увидел, что htmlspecialchars при обработке 
    кириллицы возвращает пустоту.  Загуглив я узнал,  что  php от версии 5.4. по дефолту в htmlspecialchars стал использовать UTF-8, что и убило этот проект.  
    
    Я быстро написал функцию htmlspecialchars_a в которой по дефолту кодировка win-1251,  автозаменой прошелся по проекту. Всё завелось.  
    
    Отдельное спасибо разрабам php. Пусть в следующей версии заменят true/false на  True/False.  Ну или + на -.

    Vasiliy, 23 Апреля 2015

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Lol = "Lol"
    Put Lol
    Lol1 = "1", Lol2 = "2"
    Put Lol1+Lol2
    Set lol = string
    Lol = "HELLO LOLLED GUYS!"
    Put lol.lowcase
    Lolka="lolka"
    Put lolka.upcase

    Так сказать, новый язык программирования - название не придумал (помогите!!!).
    Результат выполнения программы:

    Lol
    3
    hello lolled guys!
    LOLKA

    Жду комментариев (напишите название для япа).

    Mobac, 19 Апреля 2014

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

    0

    1. 1
    Как вы думаете, что может делать функция getAlabamaTimezone(now: Date) ?

    JaneBurt, 25 Ноября 2021

    Комментарии (168)
  5. Куча / Говнокод #24488

    −1

    1. 1
    https://habr.com/post/417047/

    Гвидо уходит напитон из питона

    guestinxo, 13 Июля 2018

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Оффтоп
    
    Пишу либу для гуя в консоли. Столкнулся с проблемой медленного вывода в консоль на линуксе.
    На винде есть няшный WriteConsoleOutput, который может вывести буфер разом на консоль, в линупсе ничего подобного не нашел.
    Если использовать Console.WriteLine или libc-шный puts, все лагает неимоверно
    
    Есть идеи?

    cykablyad, 24 Июня 2016

    Комментарии (168)
  7. 1C / Говнокод #27164

    +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
    &НаКлиенте
    Процедура ИмяФайла_ПроизводственнаяПрограммаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    	ДиалогВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    	ДиалогВыборФайла.Фильтр = "Файлы Microsoft Excel (*.xls, *.xlsx, *.xlsm)|*.xls; *.xlsx; *.xlsm|Все файлы (*.*)|*.*";
    	ДиалогВыборФайла.Показать(Новый ОписаниеОповещения("ИмяФайла_ПроизводственнаяПрограммаНачалоВыбораЗавершение", ЭтотОбъект, Новый Структура("ДиалогВыборФайла,ИмяФайла", ДиалогВыборФайла, Элемент.Имя)));
    КонецПроцедуры
    
    &НаКлиенте
    Процедура ИмяФайла_ПроизводственнаяПрограммаНачалоВыбораЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
        
        ДиалогВыборФайла = ДополнительныеПараметры.ДиалогВыборФайла;
        
        Если (ВыбранныеФайлы <> Неопределено) Тогда
            ЭтаФорма[ДополнительныеПараметры.ИмяФайла] = ДиалогВыборФайла.ПолноеИмяФайла;
        КонецЕсли;
    
    КонецПроцедуры

    Асинхронные вызовы??? Нее.... Не слышал...

    nytlenc, 15 Декабря 2020

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

    −4

    1. 1
    Андроидотред #3

    #1: https://govnokod.xyz/_19062
    #2: https://govnokod.xyz/_25537 (стерла пидорва сракер)

    syoma, 22 Июня 2019

    Комментарии (167)
  9. Си / Говнокод #25753

    −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
    #include <stdio.h>
    #include <stdlib.h>
    
    int main ()
    {
    int a=120;
    printf("%i\n",*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&*&*&*&*&*&*&*&*&*&
    *&*&*&a);
    }

    killer1804, 08 Августа 2019

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

    +18

    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
    template <typename T>
      struct canref {
        struct yes { uint8_t bytes[1]; };
        struct no  { uint8_t bytes[2]; };
        template <typename U>    static yes test(U*p);
        template <typename U>    static no  test(...);
        static const bool value = sizeof(test<T>(NULL)) == sizeof(yes);
      };
      template <typename T, int N, bool CanRef=canref<T>::value>
      class array; 
      // class for all types
      template <typename T, int N>
      class array <T,N,true>
      {
        struct Bytes
        {
          uint8_t bytes[sizeof(T)];
        };
        struct TStruct
        {
          T t;
          TStruct(T t):t(t){}
        };
    
        Bytes elements[N];
        int count;
        void copy_ctor (int index, const T& t)
        {
          new (&((*this)[index])) T(t);      
        }
        void copy (int index, const T& t)
        {
          (*this)[index] = t;
        }
    
        void dtor (int index)
        {
          (*this)[index].~T();
        }
      public:
        array () : count(0) {}
    
        ~array () 
        {
          resize(0);
        }
        T& operator [] (int index) 
        {
          assert (index>=0 && index<count);      
          return ((TStruct*)(&elements[index]))->t;
        }
        const T& operator [] (int index) const 
        {
          assert (index>=0 && index<count);      
          return ((TStruct*)(&elements[index]))->t;
        }
        template <int M>
        array (const array<T,M> &a)
        {
          assert(a.count<=N);
          count = a.count;
          for (int i=0; i<count; ++i)
            copyctor(i, a[i]);
        }
        template <int M>
        array& operator = (const array<T,M> &a)
        {
          if (this != &a)
          {
            if (count>a.count)
            {
              for (int i=0;       i<a.count; ++i) copy(i, a[i]);
              for (int i=a.count; i<count;   ++i) dtor(i);
              count = a.count;
            } else
            {
              assert(a.count<=N);
              int ocount = count;
              count = a.count;
              for (int i=0;      i<ocount; ++i) copy(i, a[i]);
              for (int i=ocount; i<count;  ++i) copy_ctor(i, a[i]);
            }
          }
        }
        int size() 
        {
          return count;
        }

    Скоро даже сратору станет очевидно откуда это.

    LispGovno, 10 Января 2014

    Комментарии (166)
  11. Python / Говнокод #11823

    −87

    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
    >>> r=range(16);print '\n'.join(' '*y+' '.join('# '[x&y>0] for x in r) for y in r)
    # # # # # # # # # # # # # # # #
     #   #   #   #   #   #   #   #  
      # #     # #     # #     # #    
       #       #       #       #      
        # # # #         # # # #        
         #   #           #   #          
          # #             # #            
           #               #              
            # # # # # # # #                
             #   #   #   #                  
              # #     # #                    
               #       #                      
                # # # #                        
                 #   #                          
                  # #                            
                   #

    1. Почему f(x, y) = 1-sign(x&y) даёт в результате треугольник Серпинского?
    2. Олимпиада: на вашем любимом языке написать программу, которая выводит аналогичный фрактал(см. код). Победит тот язык, программа на котором займёт наименьшее число символов. Нулевое приближение на Python - 78 символов.

    serpinski, 22 Сентября 2012

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