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

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

    −63.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    void SimplexIteration::ReWidth()
    {  w[-2]=w[0]=Width; w[-1]=5; for(size_t j=1;j<A.size_j();j++) w[j]=Width;
       if (var) for(size_t j=1; j<A.size_j(); j++)
                   if(strlen(var[j])>w[j]) w[j]=strlen(var[j]);
    }

    Особенно порадовало w[-2]. Знаю, что так можно, но все равно говнисто.

    guest, 23 Декабря 2008

    Комментарии (43)
  3. Python / Говнокод #28796

    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
    @dataclass(slots=True)
    class Govno:
        govno_index: int
        
        def patch(self, indices_dict: Dict[int, int]) -> None:
            new_index = indices_dict[self.govno_index]
            self.govno_index = new_index
    
    
    @dataclass(slots=True)
    class Mocha:
        mocha_index: int
        
        def patch(self, indices_dict: Dict[int, int]) -> None:
            new_index = indices_dict[self.govno_index]
            self.govno_index = new_index

    Метод «patch» был скопипащен из класса «Govno» в класс «Mocha». Тайпчекер никаких ошибок не показывал; все типы были выведены корректно.

    А в рантайме всё упало, что и неудивительно!

    ISO, 13 Июня 2023

    Комментарии (42)
  4. Haskell / Говнокод #28596

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    (define A (list 1 2 3 4 5))
    
    (define (reverse L)
      (let ((C (cdr L)))
        (if (not (null? C))
            (cons (reverse C) (car L))
            (car L))))
    
    (newline)
    (display (reverse A))
    (newline)

    Почему у меня получается х****й лист после реверсинга? :-(

    JloJle4Ka, 10 Февраля 2023

    Комментарии (42)
  5. C++ / Говнокод #28355

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Меня больше не торкает C++
    
    В попытках не потерять ясность ума и рассудка я вернулся к своему любимому делу, но какого же было моё удивление, когда я обнаружил что более не наслаждаюсь процессом.
    Ни страсти, ни истощения. Ничего. Процесс ничем не отличается от простого втыкания в красиво подсвеченные буквы IDE и блокнотов.
    Возможно я слишком долго не принимался за код, возможно пока я боролся со своими зависимостями я убил и эту, 
    возможно дело в том что я более не на Linux, возможно мои эмоции выгорели и осталась лишь одна материальная сущность, 
    не движимая ни в какой мере иррациональной мотивацией, или настолько сильно предаюсь эмоциям в других сферах, что не хватает на C++, теряюсь в догадках.
    Меня это волнует. Я который день не могу собраться с мыслями, наслаждаться жизнью. Я практически потерял наслаждение от 
    огромной части себя, от той части, что определяла меня таким какой я есть, что сделала меня воистину свободной, позволявшей уходить от реальности и глупостей.
    Я изменился, я потерял контроль, люди более не могут меня выносить из-за того что я выкладываю им сотни слов с тысячами смыслов за минимальное время практически скороговоркой.

    kcalbCube, 05 Сентября 2022

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

    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
    auto&& rv = elements | std::ranges::views::values | std::ranges::views::transform([](auto&& a) -> auto 
    		{
    			StatisticsElementMultiple n = std::move(a);
    			n.nanosec /= n.count;
    			return n;
    		});
    		std::vector<StatisticsElementMultiple> el(std::begin(rv), std::end(rv));
    		std::ranges::sort(el, [](auto&& a, auto&& b) -> bool {return a.nanosec > b.nanosec; });
    		for(auto&& [nanosec, name, prefixes, count] : el)
    		{
    			printf("%-10d %04X %12s %6d\n", count, prefixes, name.c_str(), nanosec);
    		}

    kcalbCube, 18 Апреля 2022

    Комментарии (42)
  7. JavaScript / Говнокод #27569

    +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
    class S
    {
    	print()
    	{
    		print("Hello World");
    	}
    }
    
    interface IPrn
    {
    	print();
    }
    
    function run(iface:IPrn)
    {
    	iface.print();
    }
    
    function main() {
    	const s = new S();
    	let iface = <IPrn>s;
    	iface.print();	
    	run(s);
    }

    короче новый говнокод подоспел. Т.к. вы все тут самые умные я не раскажу в чем фича. Сами догадаетесь

    ASD_77, 15 Августа 2021

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

    +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
    import std.stdio;
    
    template GenMix()
    {
      const char[] GenMix = 
        "template GenMix2()" ~
        "{" ~
        "  const char[] GenMix2 = \"writeln(\\\"Hello, Wandbox!\\\");\";" ~
        "};";
    }
    
    template MixMix(string Name)
    {
      const char[] MixMix = "mixin(" ~ Name ~ "!());";
    }
    
    mixin(GenMix!());
    
    
    void main()
    {
      mixin(GenMix2!());
      mixin(MixMix!("GenMix2"));
    }

    https://wandbox.org/permlink/1HpjfgrgVLyBSrXG

    ГОМОИКОННОСТЬ в D

    j123123, 10 Июля 2021

    Комментарии (42)
  9. PHP / Говнокод #27502

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    public function isBooted()
    {
        return true === $this->booted;
    }

    Дичь

    deenmluzsxbpg, 07 Июля 2021

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

    +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
    // https://docs.docker.com/engine/api/v1.24/#create-a-container
    
    POST /v1.24/containers/create HTTP/1.1
    Content-Type: application/json
    Content-Length: 12345
    
    {
           "Hostname": "",
           "Domainname": "",
           "User": "",
           "AttachStdin": false,
           "AttachStdout": true,
           "AttachStderr": true,
           "Tty": false,
           "OpenStdin": false,
           "StdinOnce": false,
           "Env": [
                   "FOO=bar",
                   "BAZ=quux"
           ],
           ...
    }

    Ядро предоставляет сисколл execve. Execve принимает переменные окружения в виде массива строк A=B -
    не знаю конкретных причин, почему так сделано, но скорее всего просто потому что писать хэшмапу под
    это дело, которая еще и будет выкинута из памяти через относительно небольшое время - дело дорогое и
    ненужное, плюс наверняка какой-нибудь лишний пердолинг со стеком.
    https://man7.org/linux/man-pages/man2/execve.2.html

    Го, "человеческий язык" с поддержкой обычных мап из коробки, ничтоже сумляшеся не замечает никакой
    проблемы и заставляет пользователя передавать переменные окружения в том же формате, потому что у
    языка не только синтаксис должен быть таким же тупым, как программист на нём и вообще мы же тут
    делаем вид, что мы C, только лучше.
    https://golang.org/pkg/os/exec/#example_Command_environment

    Докер, "человеческий сервис" с HTTP API, использующим формат JSON с поддержкой обычных мап из коробки,
    ничтоже сумляшеся не замечает никакой проблемы и заставляет пользователя передавать переменные
    окружения в том же формате, потому что на программист на языке должен быть тупым, как этот язык.
    https://docs.docker.com/engine/api/v1.24/#create-a-container

    В результате мы имеем пачку долбоебов, из-за которых оперирующие (мапами / объектами / словарями / как угодно назовите)
    нормальные люди должны вести себя как типичные гошники.

    Fike, 17 Февраля 2021

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

    +6

    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
    Функция РазрешеноМенятьЗаявкуПоПравилу9Утра()    
    	
     	_Год    = Год  ( Объект.Дата);
    	_Месяц  = Месяц( Объект.Дата);
    	_День   = День ( Объект.Дата) + 1;
    	
    	Если _День = 29 Тогда
    		Если _Месяц = 2 Тогда
    			
    			Если (_Год - 2016)%4 <> 0 Тогда	
    				
    				_Месяц = 3; _День = 1;
    			КонецЕсли;  
    		КонецЕсли;
    	КонецЕсли;
    	
    	Если _День = 30 Тогда
    		Если (_Месяц = 4) ИЛИ (_Месяц = 6) ИЛИ (_Месяц = 9) ИЛИ (_Месяц = 11) Тогда
    			
    			_Месяц = _Месяц + 1;
    			_День  = 1;
    		КонецЕсли;
    	КонецЕсли;
    	
    	Если _День = 31 Тогда
    		Если (_Месяц = 1) ИЛИ (_Месяц = 3) ИЛИ (_Месяц = 5) ИЛИ (_Месяц = 7) ИЛИ
    			(_Месяц = 8)        Тогда
    			
    			_Месяц = _Месяц + 1;
    			_День  = 1;
    		ИначеЕсли _Месяц = 12  Тогда
    			
    			_Месяц = 1;
    			_День  = 1; 
    		КонецЕсли;
    	КонецЕсли;
    	
    	_9УтраСледующегоДня = Дата( _Год , _Месяц, _День,9,0,0);
    	
    	Если ТекущаяДата() < _9УтраСледующегоДня Тогда
    		
    		Возврат Истина;
    	Иначе
    		
    		Возврат Ложь;
    	КонецЕсли;
    	  
    КонецФункции

    По-моему, достойно Вашего внимания ;)

    ShilkovNikolay, 27 Октября 2020

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