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

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

    +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
    INTERRUPT_TABLE section:
    00> FF FF | . .
    02> 9F 00 | . .
    
    DATA section:
    32> 48 65 6C 6C 6F 20 77 6F | Hello.wo
    3A> 72 6C 64 21 00 00 00 00 | rld . . . . .
    42> 00 00 00 00 00 00 00 00 | . . . . . . . .
    4A> 00 00 00 00 00 00 00 00 | . . . . . . . .
    
    _START section:
    8F> 9B 00 32 00  PUSH 32
    93> 18 00 00 00      INT 0
    97> 18 00 01 00      INT 1
    9B> 94 40 01 00    ADD %B       1
    
    EXIT interrupt:
    9F> 81 40 16 E8   MOV %B       E816
    A3> 20 00 00 00     RET
    
    
    RUNFLOW:
    8F> 9B 00 32 00  PUSH 32
    93> 18 00 00 00      INT 0          DEBUG OUTPUT: Hello world!
    97> 18 00 01 00      INT 1
    9F> 81 40 16 E8   MOV %B       E816
    A3> 20 00 00 00     RET
    9B> 94 40 01 00    ADD %B       1
    HALT SEQUENCE REACHED: 0xE817

    Закодил свою виртуальную машину и ассемблер под неё.
    Заспидранил Hello world за неделю.
    https://pastebin.com/NmLEuGMU

    digitalEugene, 08 Мая 2021

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    vector<int> res;
    ...
    for (int i = 0; i < res.size(); i++) {
        printf("%d%c", res[i], " \n"[i + 1 == res.size()]);
    }

    Решил вспомнить как олимпиадные задачки решать.

    3_dar, 07 Мая 2021

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    %% Generates a Normal-distributed random variable using Box-Muller method
    %% from: https://github.com/basho/basho_stats/blob/develop/src/basho_stats_rv.erl
    -spec rnd_normal(integer(), integer()) -> non_neg_integer().
    rnd_normal(Mean, Sigma) ->
      Rv1 = random:uniform(),
      Rv2 = random:uniform(),
      Rho = math:sqrt(-2 * math:log(1-Rv2)),
      abs(trunc(Rho * math:cos(2 * math:pi() * Rv1) * Sigma + Mean)).

    Это норма.

    CHayT, 07 Мая 2021

    Комментарии (21)
  5. JavaScript / Говнокод #27396

    +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
    // Define the module
    define(function(require) {
      // Require empty list error
      var EmptyListError = require('../errors/property_errors').EmptyListError;
    
      // Character-rank list class
      function WeightedList(/* ...keys */) {
        this._total = 0;
        this._generateList.apply(this, arguments);
      }
    
      WeightedList.prototype._generateList = function() {
        var collection;
        if (typeof arguments[0] == 'object') {
          collection = arguments[0];
        } else {
          collection = arguments;
        }
    
    
        for (var i = 0; i < collection.length; i++) {
          this[collection[i]] = this[collection[i]] === undefined ? 1 : this[collection[i]] + 1;
          this._total++;
        }
      }
    
      WeightedList.prototype.getRandomKey = function() {
        if (this._total < 1)
          throw new EmptyListError();
    
        var num = Math.random();
        var lowerBound = 0;
    
        var keys = Object.keys(this);
        for (var i = 0; i < keys.length; i++) {
          if (keys[i] != "_total") {
            if (num < lowerBound + this[keys[i]] / this._total) {
              return keys[i];
            }
            lowerBound += this[keys[i]] / this._total;
          }
        }
    
        return keys[keys.length - 1];
      };
    
      WeightedList.prototype.increaseRank = function(key) {
        if (key !== undefined && key != "_total") {
          if (this[key] !== undefined) {
            this[key]++;
          } else {
            this[key] = 1;
          }
    
          this._total++;
        }
      };
    
      WeightedList.prototype.clearRanks = function() {
        var keys = Object.keys(this);
        for (var i = 0; i < keys.length; i++) {
          if (keys[i] != "_total") {
            this._total -= this[keys[i]] - 1;
            this[keys[i]] = 1;
          }
        }
      };
    
      return WeightedList;
    });

    Вот почему я за четкое разделение объектов/структур и хэшей (ассоциативных массивов).

    JaneBurt, 07 Мая 2021

    Комментарии (10)
  6. Go / Говнокод #27395

    +1

    1. 1
    2. 2
    3. 3
    if req.Lang != "" {
    	req.Lang = "EN"
    }

    Я сказал английский!

    [Поставленная задача: если пришёл запрос без поля, поставить значение по умолчанию]

    anon007, 06 Мая 2021

    Комментарии (20)
  7. Python / Говнокод #27387

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    def main():
        pipe(int(input('Введите неотрицательное целое число: ')),   
             lambda n: (n, reduce(lambda x, y: x * y, range(1, n + 1))),   
             lambda tup: print(f'Факториал числа {tup[0]} равняется {tup[1]}'))

    Из https://habr.com/ru/post/555370/ (Функциональное ядро на Python).

    PolinaAksenova, 01 Мая 2021

    Комментарии (13)
  8. JavaScript / Говнокод #27386

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function main() {    
    	(function () {
    		print("Hello World!");
    	})();
    }

    а ваш С компилятор может так говнокодить? а мой компилятор может :)

    ASD_77, 30 Апреля 2021

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

    +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
    var proto = $new(null);
    proto.foo = function() { 
      $print(this.msg) 
    }
    
    var o = $new(null);
    o.msg = "hello";
    $objsetproto(o,proto);
    o.foo(); // print "hello"
    
    $objsetproto(o,null); // remove proto
    o.foo(); // exception

    Давайте писать ня Neko!
    https://nekovm.org

    PolinaAksenova, 29 Апреля 2021

    Комментарии (16)
  10. 1C / Говнокод #27383

    +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
    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
    // Заполняет документ заказ данными с сайта.
    // 
    // Параметры:
    //  ДокументОбъект - ДокументОбъект - объект документа Заказ покупателя.
    //  РеквизитыЗаказа - Структура - содержит значения реквизитов заказа, загруженных с сайта:
    //     * Ид - Идентификатор заказа, очень часто тоже что и номер.
    //     * Дата				- дата создания заказа на сайте.
    //     * Номер				- номер заказа на сайте.
    //     * ДатаОтгрузки		- дата отгрузки товара по заказу.
    //     * ВалютаДокументаКод	- трехзначный идентификатор валюты.
    //     * ВидЦенНаименование	- наименование вида цены.
    //     * СуммаВключаетНДС	- признак включения НДС.
    //     * НаименованиеСкидки	- наименование скидки.
    //     * ПроцентСкидки		- процент скидки.
    //     * СуммаСкидки		- сумма скидки по заказу.
    //     * СкладНаименование 	- наименование склада, точки самовывоза.
    //     * ПодразделениеНаименование - наименование подразделения.
    //     * Контрагент			- ссылка на контрагента, который уже был идентифицирован в базе.
    //     * АдресДоставки      - строка адреса доставки.
    //     * ТочкаСамовывоза	- ссылка на элемент справочника, который в прикладном решении является справочником точек самовывоза или Неопределено.
    //     * Товары				- табличная часть документа.
    //     * Комментарий		- текстовый комментарий.
    //  СвойстваЗаказа - Соответствие - содержит строковое представления свойств (ключ) и значений (значение) заказа.
    //  ПрикладныеПараметры - Структура - содержит параметры прикладного решения, добавленные на форму узла плана обмена.
    //  ОписаниеОшибки - Строка - текстовое представление ошибки.
    //  Успешно - Булево - признак заполнения документа.
    //
    Процедура ЗаполнитьЗаказ(ДокументОбъект, РеквизитыЗаказа, СвойстваЗаказа,
                             ПрикладныеПараметры, ОписаниеОшибки, Успешно) Экспорт
    	//++ НЕ ГОСИС
    	Валюта = Неопределено;
    	ОбменССайтамиУТ.ОбработатьВалютуXML(Валюта, РеквизитыЗаказа.ВалютаДокументаКод);
    	
    	ДокументОбъект.Дата          = РеквизитыЗаказа.Дата;
    	ДокументОбъект.Валюта        = Валюта;
    	ДокументОбъект.Соглашение    = ПрикладныеПараметры.Соглашение;
    	ДокументОбъект.Организация   = ПрикладныеПараметры.Организация;
    	ДокументОбъект.Менеджер      = ПрикладныеПараметры.Менеджер;
    	ДокументОбъект.Контрагент    = РеквизитыЗаказа.Контрагент;
    	ДокументОбъект.Партнер       = РеквизитыЗаказа.Партнер;
    	ДокументОбъект.ЦенаВключаетНДС = РеквизитыЗаказа.СуммаВключаетНДС;
    	ДокументОбъект.Склад           = ?(ЗначениеЗаполнено(РеквизитыЗаказа.ТочкаСамовывоза),
    	                                   РеквизитыЗаказа.ТочкаСамовывоза, 
    	                                   ПрикладныеПараметры.Склад);
    	
    	УсловияПродаж = ПродажиСервер.ПолучитьУсловияПродаж(ПрикладныеПараметры.Соглашение);
    	
    	Если НЕ ЗначениеЗаполнено(УсловияПродаж.ИспользуютсяДоговорыКонтрагентов) 
    		ИЛИ НЕ УсловияПродаж.ИспользуютсяДоговорыКонтрагентов Тогда
    		ДокументОбъект.ПорядокОплаты = УсловияПродаж.ПорядокОплаты;
    	Иначе
    		ДокументОбъект.ПорядокОплаты = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.Договор, "ПорядокОплаты");
    	КонецЕсли;
    	
    	ДокументОбъект.ВернутьМногооборотнуюТару = УсловияПродаж.ВозвращатьМногооборотнуюТару;
    	ЗаполнитьЗначенияСвойств(ДокументОбъект,
    	                         УсловияПродаж,
    	                        "ХозяйственнаяОперация, ГруппаФинансовогоУчета,
    	                        |ТребуетсяЗалогЗаТару, ФормаОплаты, ГрафикОплаты");
    	Если ЗначениеЗаполнено(ДокументОбъект.ГрафикОплаты) Тогда
    		ДокументОбъект.ФормаОплаты = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.ГрафикОплаты, "ФормаОплаты");
    	КонецЕсли;
    	
    	ДокументОбъект.ВернутьМногооборотнуюТару = УсловияПродаж.ВозвращатьМногооборотнуюТару;
    	ДокументОбъект.Приоритет = Справочники.Приоритеты.ПолучитьПриоритетПоУмолчанию(ДокументОбъект.Приоритет);
    	Если УсловияПродаж.ИспользуютсяДоговорыКонтрагентов Тогда
    		
    		ДокументОбъект.Договор = ПродажиСервер.ПолучитьДоговорПоУмолчанию(ДокументОбъект,
    		                                                                  УсловияПродаж.ХозяйственнаяОперация,
    		                                                                  Валюта);
    		
    		Если ЗначениеЗаполнено(ДокументОбъект.Договор) Тогда
    			ДокументОбъект.НалогообложениеНДС = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.Договор,
    				"НалогообложениеНДС");
    		КонецЕсли;
    		
    	КонецЕсли;
    	
    	Если НЕ ЗначениеЗаполнено(ДокументОбъект.НалогообложениеНДС) Тогда
    		ДокументОбъект.НалогообложениеНДС = Справочники.Организации.НалогообложениеНДС(
    			ДокументОбъект.Организация,
    			ДокументОбъект.Склад,
    			ДокументОбъект.Дата);
    	КонецЕсли;
    	
    	Комментарий = "";
    	Если Не ПустаяСтрока(РеквизитыЗаказа.Комментарий) Тогда
    		Комментарий = Комментарий + НСтр("ru = 'Комментарий менеджера на сайте'") + ": " +РеквизитыЗаказа.Комментарий;
    	КонецЕсли;
    	
    	КомментарийПокупателя = СвойстваЗаказа.Получить("Комментарии покупателя");
    	Если Не КомментарийПокупателя = Неопределено И Не ПустаяСтрока(КомментарийПокупателя) Тогда
    		Комментарий = Комментарий + ?(ПустаяСтрока(Комментарий),"",Символы.ПС) + НСтр("ru = 'Комментарий покупателя на сайте'") + ": " + КомментарийПокупателя;
    	КонецЕсли;
    	
    	ДокументОбъект.Комментарий   = Комментарий;
    	
    	СтатусЗаказа = СвойстваЗаказа.Получить("Статус заказа");

    0x255, 29 Апреля 2021

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

    +1

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

    #55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
    #56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
    #57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
    #58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
    #59: https://govnokod.ru/26934 https://govnokod.xyz/_26934
    #60: https://govnokod.ru/26949 https://govnokod.xyz/_26949
    #61: https://govnokod.ru/26980 https://govnokod.xyz/_26980
    #62: https://govnokod.ru/26999 https://govnokod.xyz/_26999
    #63: https://govnokod.ru/27004 https://govnokod.xyz/_27004
    #64: https://govnokod.ru/27020 https://govnokod.xyz/_27020
    #65: https://govnokod.ru/27027 https://govnokod.xyz/_27027
    #66: https://govnokod.ru/27040 https://govnokod.xyz/_27040
    #67: https://govnokod.ru/27049 https://govnokod.xyz/_27049
    #68: https://govnokod.ru/27061 https://govnokod.xyz/_27061
    #69: https://govnokod.ru/27071 https://govnokod.xyz/_27071
    #70: https://govnokod.ru/27097 https://govnokod.xyz/_27097
    #71: https://govnokod.ru/27115 https://govnokod.xyz/_27115
    #72: https://govnokod.ru/27120 https://govnokod.xyz/_27120
    #73: https://govnokod.ru/27136 https://govnokod.xyz/_27136
    #74: https://govnokod.ru/27160 https://govnokod.xyz/_27160
    #75: https://govnokod.ru/27166 https://govnokod.xyz/_27166
    #76: https://govnokod.ru/27168 https://govnokod.xyz/_27168
    #77: https://govnokod.ru/27186 https://govnokod.xyz/_27186
    #78: https://govnokod.ru/27219 https://govnokod.xyz/_27219
    #79: https://govnokod.ru/27254 https://govnokod.xyz/_27254
    #80: https://govnokod.ru/27270 https://govnokod.xyz/_27270
    #81: https://govnokod.ru/27280 https://govnokod.xyz/_27280
    #82: https://govnokod.ru/27284 https://govnokod.xyz/_27284
    #83: https://govnokod.ru/27296 https://govnokod.xyz/_27296
    #84: https://govnokod.ru/27336 https://govnokod.xyz/_27336

    nepeKamHblu_nemyx, 28 Апреля 2021

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