1. C++ / Говнокод #28345

    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
    #include <iostream>
    
    class Pituh {
    public:
        static void SetInstance(Pituh* pet) {
            Instance_ = pet;
        }
    
        static Pituh& Instance() {
            return *Instance_;
        }
    
        void kok() {
            std::cout << "kok" << std::endl;
        }
    private:
        static Pituh* Instance_;
    };
    
    #define KOK Pituh::Instance()
    
    Pituh* Pituh::Instance_ = nullptr;
    
    
    int main() {
        Pituh pet;
        KOK.SetInstance(&pet);
        KOK.kok();
    }

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

    3_dar, 26 Августа 2022

    Комментарии (275)
  2. 1C / Говнокод #28343

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    &НаКлиенте
    Процедура НастройкаВидимости()
              НастройкаВидимости();
    КонецПроцедуры
    
    &НаКлиенте
    Процедура ВидЗаявкиПриИзменении(Элемент)
    	НастройкаВидимости();
    КонецПроцедуры

    Когда отвлекли телефонным звонком, а потом сидишь полчаса и думаешь почему при выборе значения на форме в поле "Вид заявки" 1ска крашиться)))

    mordik, 24 Августа 2022

    Комментарии (2)
  3. Go / Говнокод #28342

    +1

    1. 1
    Конструктор по умолчанию?

    Не, не слышали.
    Рефлексией итерируемся по свойствам и вызываем функцию инициализации полей ))))))))))))))

    3_dar, 22 Августа 2022

    Комментарии (61)
  4. 1C / Говнокод #28338

    +3

    1. 1
    СТРЗАМЕНИТЬ(СОКРЛ(СТРЗАМЕНИТЬ(уатПутевойЛист.Номер, "0", " ")), " ", "0") КАК НомерПЛ,

    Удаляет нули в номере документа для вывода на печатную форму

    serving12, 18 Августа 2022

    Комментарии (7)
  5. PHP / Говнокод #28336

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
         * @param string $login
         * @return User
         * @throws GuzzleException
         */
        public function getExternalUser(string $login):FreeIpaUser{
            return $this->UserFactory->createUser($login,$this->getUser($login));
        }

    1g0rbm, 16 Августа 2022

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

    −5

    1. 1
    Борманд! Ты вернулся!

    kcalbCube, 11 Августа 2022

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

    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
    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
    public static void Mein()
    	{
    		Govno8_Main.random_0 = new Random();
    		Govno8_Main.doubleBufferForm_0 = new Govno8.DoubleBufferForm();
    		Govno8_Main.byte_0 = ArrayModule.Create<byte>(4096, 0);
    		Govno8_Main.ushort_0 = 512;
    		Govno8_Main.string_0 = string.Empty;
    		Govno8_Main.openFileDialog_0 = new OpenFileDialog();
    		Govno8.OpenBinDialog.Title = "Open Chip-8 ROM File";
    		Govno8.OpenBinDialog.Filter = "Chip-8 ROM Files|*.ch8|All files|*.*";
    		switch (Govno8.OpenBinDialog.ShowDialog())
    		{
    			case DialogResult.OK:
    				{
    					byte[] array = File.ReadAllBytes(Govno8.OpenBinDialog.FileName);
    					if (array.Length != 0 && array.Length <= 3583)
    					{
    						Govno8.RomName = Govno8.OpenBinDialog.FileName;
    						array.CopyTo(Govno8.Memory, (int)Govno8.PC);
    					}
    					else
    					{
    						MessageBox.Show("Invalid ROM file", "FATAL ERROR", MessageBoxButtons.OK, MessageBoxIcon.Hand);
    						Environment.Exit(1);
    					}
    					break;
    				}
    			default:
    				Environment.Exit(1);
    				break;
    		}
    		Govno8_Main.byte_1 = new byte[]
    		{
    				240, 144, 144, 144, 240, 32, 96, 32, 32, 112,
    				240, 16, 240, 128, 240, 240, 16, 240, 16, 240,
    				144, 144, 240, 16, 16, 240, 128, 240, 16, 240,
    				240, 128, 240, 144, 240, 240, 16, 32, 64, 64,
    				240, 144, 240, 144, 240, 240, 144, 240, 16, 240,
    				240, 144, 240, 144, 144, 224, 144, 224, 144, 224,
    				240, 128, 128, 128, 240, 224, 144, 144, 144, 224,
    				240, 128, 240, 128, 240, 240, 128, 240, 128, 128
    		};
    		Govno8.Fontset.CopyTo(Govno8.Memory, 0);
    		Govno8_Main.ushort_1 = 0;
    		Govno8_Main.byte_2 = ArrayModule.Create<byte>(16, 0);
    		Govno8_Main.ushort_2 = 0;
    		Govno8_Main.ushort_3 = ArrayModule.Create<ushort>(16, 0);
    		Govno8_Main.ushort_4 = 0;
    		Govno8_Main.byte_3 = ArrayModule.Create<byte>(16, 0);
    		Govno8_Main.byte_4 = ArrayModule.Create<byte>(2048, 0);
    		Govno8_Main.byte_5 = 0;
    		Govno8_Main.byte_6 = 0;
    		Govno8_Main.dateTime_0 = DateTime.Now;
    		Govno8_Main.dateTime_1 = DateTime.Now;
    		Govno8_Main.fsharpAsync_0 = ExtraTopLevelOperators.DefaultAsyncBuilder.Delay<Unit>(Govno8.Class6.class6_0);
    		Govno8.Form.ClientSize = new Size(1024, 512);
    		CommonExtensions.AddToObservable<EventArgs>(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers.CreateEvent<EventHandler, EventArgs>(Govno8.Class7.class7_0, Govno8.Class8.class8_0, Govno8.Class10.class10_0), Govno8.Class11.class11_0);
    		CommonExtensions.AddToObservable<PaintEventArgs>(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers.CreateEvent<PaintEventHandler, PaintEventArgs>(Govno8.Class12.class12_0, Govno8.Class13.class13_0, Govno8.Class15.class15_0), Govno8.Class16.class16_0);
    		CommonExtensions.AddToObservable<KeyEventArgs>(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers.CreateEvent<KeyEventHandler, KeyEventArgs>(Govno8.Class17.class17_0, Govno8.Class18.class18_0, Govno8.Class20.class20_0), Govno8.Class21.class21_0);
    		CommonExtensions.AddToObservable<KeyEventArgs>(Microsoft.FSharp.Core.CompilerServices.RuntimeHelpers.CreateEvent<KeyEventHandler, KeyEventArgs>(Govno8.Class22.class22_0, Govno8.Class23.class23_0, Govno8.Class25.class25_0), Govno8.Class26.class26_0);
    		Govno8.Form.Text = string.Format("{0} - Chip-F Emulator", Govno8.RomName);
    		Govno8.Form.MaximizeBox = false;
    		Govno8.Form.FormBorderStyle = FormBorderStyle.FixedSingle;
    		Application.Run(Govno8.Form);
    	}

    Три раза переваренный кал...
    Скомпилен F# код, затем декомпиленный в C# и подправленный чутка)))
    А, ну и ещё деобфускатором прошелся прикола ради, перед декомпиляцией.

    P.S. Кстати капча ниже содержала 666... Как иронично...

    DartPower, 10 Августа 2022

    Комментарии (2)
  8. C++ / Говнокод #28326

    +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
    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
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    #include <stddef.h>
    #include <stdio.h>
    #include <utility>
    #define PLACEHOLDER char x[0];
    
    #define FORCEINLINE 
    template <typename T, typename... Ts> struct MyTuple : MyTuple<Ts...>
    {
    	FORCEINLINE constexpr MyTuple(T&& t, Ts&&... ts)
    		: value(std::move(t))
    		, MyTuple<Ts...> (std::forward<Ts>(ts)...){}
    	FORCEINLINE explicit MyTuple(const MyTuple<T,Ts...> &other) = default;
    	FORCEINLINE MyTuple(MyTuple<T,Ts...> &&other)
    		: MyTuple<Ts...>(std::forward<MyTuple<Ts...>>(other)),
    		value(std::move(other.value)){}
    
    	FORCEINLINE constexpr int size() const { return 1 + MyTuple<Ts...>::size(); }
    	constexpr static int sz = 1 + MyTuple<Ts...>::sz;
    	FORCEINLINE MyTuple<Ts...> &next(){return *static_cast<MyTuple<Ts...>*>(this);}
    	using tnext = MyTuple<Ts...>;
    	T value;
    	FORCEINLINE ~MyTuple() {}
    	constexpr static bool isitem = false;
    };
    struct MyTupleEmpty
    {
    	PLACEHOLDER
    	FORCEINLINE constexpr int size() const { return 0; }
    	static constexpr int sz = 0;
    	~MyTupleEmpty() {}
    	constexpr static bool isitem = false;
    };
    
    template <typename T> struct MyTuple<T> {
    	FORCEINLINE MyTuple(T&& t) : value(std::move(t)){}
    	FORCEINLINE explicit MyTuple(const MyTuple<T> &other) = default;
    	FORCEINLINE MyTuple(MyTuple<T> &&other): value(std::move(other.value)){}
    
    	FORCEINLINE MyTupleEmpty &next() const{
    		static MyTupleEmpty empty;
    		return empty;
    	}
    	FORCEINLINE constexpr int size() const { return 1; }
    	constexpr static int sz = 1;
    	using tnext =MyTupleEmpty;
    	T value;
    	FORCEINLINE ~MyTuple() {}
    	constexpr static bool isitem = false;
    };
    template <class T>struct unwrap_refwrapper{using type = T;};
    template <class T>struct unwrap_refwrapper<std::reference_wrapper<T>>{using type = T&;};
     template <class T> using unwrap_decay_t = typename unwrap_refwrapper<typename std::decay<T>::type>::type;
    template<typename... Ts>
    static FORCEINLINE MyTuple<unwrap_decay_t<Ts>...> MakeTuple(Ts&&... args)
    {
    	return MyTuple<unwrap_decay_t<Ts>...>(std::forward<Ts>(args)...);
    }
    struct i3{
        auto setProp(auto x, i3 t = *(i3*)0)
        {
            typename decltype(x(*this))::tp c;
            return c;
        }
        using tp = i3;
    };
    
    
    #define s(x,y) setProp([](auto c){struct xxx: decltype(c)::tp{decltype(y) x = y;using tp = xxx;    decltype([] (auto xx, xxx &t = *(xxx*)0)\
        {\
            typename decltype(xx(t))::tp c;\
            return c;\
        }) setProp;auto BeginChildren(){return *this;}} d;return d;})
    
    #define c(...) BeginChildren(),MakeTuple(__VA_ARGS__)
    #define i(...) i3()
    
    
    
    
    void func2()
    {
        auto tp = MakeTuple(
        i(Window)
            .s(width,10)
            .s(height,20)
            .c(
                i(Item),
                i(Item2)
                    .s(property1,10.0f)
    
            )
        );
        printf("%d %d %f\n",tp.value.height,tp.value.width, tp.next().value.next().value.property1);
    }
    
    int main()
    {
        func2();
    }

    qml-like структура в compile time
    Стандартизаторы всё пытались запретить шаблоны в локальных классах, да не вышло - понаоставляли дыр в лямбдах и decltype.
    Если добавить -fpermissive, то gcc сожрёт даже с constexpr

    mittorn, 09 Августа 2022

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    unsigned mul(unsigned a, unsigned b)
    {
     char arr[a][b];
     return &arr[a][b] - (char *)arr;
    }

    Умножение через VLA

    j123123, 09 Августа 2022

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

    +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
    Когда-то, когда мне было только 20, и я был одержим кодингом, ибо не познал ещё обратную, рутинную сторону инжинеринга (это 
    когда ты вместо того, чтобы воплощать свои идеи связан по рукам и ногам и тебя имеют во все дыры твой зав. отделом шеф и эксперт),  -
     я был романтиком и мечтал собрать команду из молодых программистов, чтобы общими силами разработать интерпрайзный 
    платный либо бесплатный полезный продукт и создать своей команде имя. 
    
    Я хотел зарабатывать на софтах. Потом, взрослея, я понял, что в такой стране как Россия моя идея сгнила ещё на корню.
    Инициативы никому не нужны, ни одному работодателю.  Это я очередной раз понял, когда пытался автоматизировать ручной труд 
    целого отдела в одной из владикавказских шараг. Нет, нам не надо. Лучше по-старинке, с дубинушкой, и похуй, что этот сизифов труд 
    десятка мартышек нахуй никому не нужен.
    
    Если же ты хочешь воплощать сугубо свои желания (не завися от шефов), ты пишешь либо фри, либо долго 
    ищешь таких же двинутых на голову, которые готовы тратить свое время ради туманных перспектив и собираешь из них команду.

    О, сколько было светлых надежд...

    Support, 08 Августа 2022

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