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

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

    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
    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
    template<typename T>
    class SharedPtr {
        T* value;
        int* ref_count;
    
    public:
        SharedPtr(T* value) : value(value) {
            ref_count = new int;
            *ref_count = 1;
        }
    
        SharedPtr(const SharedPtr& other) {
            value = other.value;
            ref_count = other.ref_count;
            (*ref_count)++;
        }
    
        SharedPtr(SharedPtr&& other) {
            value = other.value;
            ref_count = other.ref_count;
            other.ref_count = nullptr;
        }
    
        ~SharedPtr() {
            if (ref_count == nullptr) {
                return;
            }
    
            if (*ref_count == 1) {
                delete value;
                delete ref_count;
            } else {
                (*ref_count)--;
            }
        }
    
        T& operator *() const {
            return *value;
        }
    
        T* operator ->() const {
            return value;
        }
    };

    Реалейзовал минимальную версию shared_ptr. Есть ошибки/замечания?

    https://ideone.com/g7gqBM

    3_dar, 04 Мая 2021

    Комментарии (167)
  3. 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)
  4. Куча / Говнокод #25685

    −4

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

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

    syoma, 22 Июня 2019

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

    0

    1. 1
    IT Оффтоп #238

    #208: https://govnokod.ru/29060 https://govnokod.xyz/_29060
    #209: https://govnokod.ru/29070 https://govnokod.xyz/_29070
    #210: https://govnokod.ru/29079 https://govnokod.xyz/_29079
    #211: https://govnokod.ru/29092 https://govnokod.xyz/_29092
    #212: https://govnokod.ru/29093 https://govnokod.xyz/_29093
    #213: https://govnokod.ru/29104 https://govnokod.xyz/_29104
    #214: https://govnokod.ru/29114 https://govnokod.xyz/_29114
    #215: https://govnokod.ru/29125 https://govnokod.xyz/_29125
    #216: https://govnokod.ru/29132 https://govnokod.xyz/_29132
    #217: https://govnokod.ru/29147 https://govnokod.xyz/_29147
    #218: https://govnokod.ru/29156 https://govnokod.xyz/_29156
    #219: https://govnokod.ru/29166 https://govnokod.xyz/_29166
    #220: https://govnokod.ru/29181 https://govnokod.xyz/_29181
    #221: https://govnokod.ru/29185 https://govnokod.xyz/_29185
    #222: https://govnokod.ru/29190 https://govnokod.xyz/_29190
    #223: https://govnokod.ru/29203 https://govnokod.xyz/_29203
    #224: https://govnokod.ru/29211 https://govnokod.xyz/_29211
    #225: https://govnokod.ru/29212 https://govnokod.xyz/_29212
    #226: https://govnokod.ru/29218 https://govnokod.xyz/_29218
    #227: https://govnokod.ru/29220 https://govnokod.xyz/_29220
    #228: https://govnokod.ru/29230 https://govnokod.xyz/_29230
    #229: https://govnokod.ru/29235 https://govnokod.xyz/_29235
    #230: https://govnokod.ru/29241 https://govnokod.xyz/_29241
    #231: https://govnokod.ru/29246 https://govnokod.xyz/_29246
    #232: https://govnokod.ru/29249 https://govnokod.xyz/_29249
    #233: https://govnokod.ru/29253 https://govnokod.xyz/_29253
    #234: https://govnokod.ru/29259 https://govnokod.xyz/_29259
    #235: https://govnokod.ru/29262 https://govnokod.xyz/_29262
    #236: https://govnokod.ru/29267 https://govnokod.xyz/_29267
    #237: https://govnokod.ru/29271 https://govnokod.xyz/_29271

    nepeKamHblu_nemyx, 28 Июля 2026

    Комментарии (166)
  6. Си / Говнокод #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)
  7. 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)
  8. 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)
  9. JavaScript / Говнокод #10722

    +153

    1. 1
    http://pastebin.com/KNAhNqJC

    В связи с тем что толстота освоила новую тактику, выпущена очередная версия говнофильтра™.

    * поддержка скрытия постов. Увы, выкинуть пост из выдачи совсем не получится, так что при флуд-атаках будут пустые страницы.
    * альтернативный "мягкий" метод скрытия комментариев - белое на белом.
    * переписано на jQuery, раз уж оно есть на уютненьком ГК.

    Как обычно, заточено под Firefox+GreaseMonkey.

    Vindicar, 08 Июня 2012

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

    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
    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
    pub trait Normalize<T> {
        type Output;
        fn normalize(&self, baseline_value: &T) -> Self::Output;
        fn denormalize(&self, baseline_value: &T) -> Self::Output;
    }
    
    impl<T, U, W> Normalize<T> for U
    where
        T: Copy,
        U: Copy + Div<T, Output = W> + Mul<T, Output = W>,
    {
        type Output = W;
        fn normalize(&self, baseline_value: &T) -> Self::Output { *self / *baseline_value }
        fn denormalize(&self, baseline_value: &T) -> Self::Output { *self * *baseline_value }
    }
    
    impl<T> Normalize<CanvasSize<T>> for Rectangle
    where
        T: Copy,
        f32: Normalize<T, Output = f32>
    {
        type Output = Rectangle;
    
        fn normalize(&self, baseline_value: &CanvasSize<T>) -> Self::Output {
            Rectangle {
                x1: self.x1.normalize(&baseline_value.width),
                y1: self.y1.normalize(&baseline_value.height),
                x2: self.x2.normalize(&baseline_value.width),
                y2: self.y2.normalize(&baseline_value.height),
            }
        }
        fn denormalize(&self, baseline_value: &CanvasSize<T>) -> Self::Output {
            Rectangle {
                x1: self.x1.denormalize(&baseline_value.width),
                y1: self.y1.denormalize(&baseline_value.height),
                x2: self.x2.denormalize(&baseline_value.width),
                y2: self.y2.denormalize(&baseline_value.height),
            }
        }
    }

    ISO, 13 Сентября 2025

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

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    console.log(parseInt(0.5)); // 0
    console.log(parseInt(0.05)); // 0
    console.log(parseInt(0.005)); // 0
    console.log(parseInt(0.0005)); // 0
    console.log(parseInt(0.00005)); // 0
    console.log(parseInt(0.000005)); // 0
    console.log(parseInt(0.0000005)); // 5

    https://ideone.com/YMWUGq

    Возможно баян, спижжено с https://vk.com/wall-72495085_1267978

    3_dar, 17 Августа 2021

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