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

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

    +906

    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
    class LoaderLock
    	{
    	public:
    		void lock();
    		void unlock();
    		bool IsLocked() const;
    		LoaderLock() = default;
    
    	private:
    		LoaderLock(LoaderLock&) = delete;
    		LoaderLock(LoaderLock&&) = delete;
    		LoaderLock& operator=(LoaderLock&) = delete;
    		LoaderLock& operator=(LoaderLock&&) = delete;
    		bool _Locked = false;
    		ULONG _cookie = 0;
    		std::unique_ptr<void, std::function<void(void*)>> _ntdll{ LoadLibrary("NTDLL.DLL"), [](void* h){if (h)FreeLibrary((HMODULE)h); } };
    		typedef NTSTATUS(__stdcall*LdrLockLoaderLockFunc)(
    			ULONG Flags,
    			ULONG *State,
    			ULONG *Cookie);
    		LdrLockLoaderLockFunc _LdrLockLoaderLock = !_ntdll ? 0 : (LdrLockLoaderLockFunc)GetProcAddress((HMODULE)_ntdll.get(), "LdrLockLoaderLock");
    		typedef NTSTATUS(__stdcall*LdrUnlockLoaderLockFunc)(
    			ULONG Flags,
    			ULONG Cookie);
    		LdrUnlockLoaderLockFunc _LdrUnlockLoaderLock = !_ntdll ? 0 : (LdrUnlockLoaderLockFunc)GetProcAddress((HMODULE)_ntdll.get(), "LdrUnlockLoaderLock");
    	};

    Уже давно минул 2014 год, а C++11 не перестает радовать нас размазанными по интерфейсу конструкторами и деструкторами.

    LispGovno, 18 Мая 2015

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

    +129

    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
    void PrintAllChars()
            {
                for (int i = 0; i < 255; i++)
                {
                    if (i == 10 || i == 20 || i == 30 || i == 40...i == 250)
                    {
                        
                    }
                    else
                    {
                        Console.WriteLine((char)i);
                    }
                }
            }

    Увидел у однокурсницы. Не могла объяснить зачем нужно пропускать, каждый десятый символ. Но даже если у нее было предлог, не самый лучший код это делать.

    garmush, 10 Июля 2014

    Комментарии (124)
  4. Си / Говнокод #12822

    +140

    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
    static inline uint64_t parse_hex_uint64(const char *s) {
        const uint64_t m1 = 0x4040404040404040ll;
        const uint64_t m2 = 0x000F000F000F000Fll;
        const uint64_t m3 = 0x0F000F000F000F00ll;
        const uint64_t *p = (const uint64_t*)s;
        int64_t a = p[0], b = p[1];
        a += ((a & m1) >> 6) * 9;
        b += ((b & m1) >> 6) * 9;
        a = (a & m2) << 12 | (a & m3);
        b = (b & m2) << 12 | (b & m3);
        a |= a >> 24;
        b = b >> 8 | b << 16;
        return (a & 0x0000FFFF00000000ll) | (a & 0xFFFF) << 48 | b >> 48 | (b & 0xFFFF0000);
    }

    По мотивам http://govnokod.ru/12800#comment173346.

    Байтоёбский парсинг шестнадцатеричного числа. Версия для 64 битного проца.

    https://ideone.com/IFG0fH

    bormand, 29 Марта 2013

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

    +1001

    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
    Matrix Matrix::inverse ()
    {
    	Matrix Temp;
    
    
    	Matrix A;
    
    	Matrix AL(4,4);
    
    	int c1,c2;
    
    
    
    	for (int i = 0; i < 5; i++)
    	for (int j = 0; j < 5; j++)
    	{
    		c1 = 0;
    
    		for (int k = 0; k < 5; k++)
    		{
    			if (k == i) continue;
    			c2 = 0;
    			for (int l = 0; l < 5; l++)
    			{
    				if (l == j) continue;
    				AL[c1][c2] = array[k][l];
    				c2++;
    			}
    			c1++;
    		}
    
    		A[i][j] = pow(-1,static_cast<double>(i + j + 2))*AL.determinant();
    	}
    	
    	for (int i = 0; i < 5; i++)
    	for (int j = 0; j < 5; j++)
    	{
    		Temp[i][j] = 1/determinant()*A[i][j];
    	}
    
    
    	return Temp;
    }

    цените, алгоритм обратной матрицы

    bartimeus33nt10, 11 Ноября 2011

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    При решении каких задач наиболее органично использовать конечные автоматы?
    
    Посоветуйте задачи, желательно прикладные и не из области разбора регулярных выражений
    или лексического анализа. Какой-нибудь пример, на котором можно продемонстрировать
    практическое применение конечных автоматов.
    
    Где вам пригождались автоматы или знания о них в реале?

    SEO: #fsm #AKKA

    vistefan, 15 Ноября 2018

    Комментарии (123)
  7. Куча / Говнокод #24847

    −13

    1. 1
    ЗА ЧТО ВЫ МЕНЯ НЕ ЛЮБИТЕ?

    ЧЕМ Я ВАМ НЕ УГОДИЛ?

    UPPERCASE, 02 Октября 2018

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

    −1

    1. 1
    Нах c#, если есть Java?

    shite, 19 Августа 2018

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

    +4

    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
    program Project2;
    
    procedure test1;
    var
      arr:array[0..32] of char;
    begin
      fillchar(arr,sizeof(arr),'A');
    end;
    
    procedure test2;
    var
      arr:array[0..32] of char;
    begin
      fillchar(arr,sizeof(arr) div 2,'B');
      writeln(arr);
    end;
    
    begin
      test1;
      test2;
      //BBBBBBBBBBBBBBBBAAAAAAAAAAAAAAA
      readln;
    end.

    http://ideone.com/qJajnb

    fajes_rown, 15 Марта 2016

    Комментарии (123)
  10. JavaScript / Говнокод #18842

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var b = true;
    
    if ( b.toString().length <5 ) {
      //...
    }

    и такое бывает

    snayps, 09 Октября 2015

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

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <p></a></p>
    <p><a href="http://domikrent.com/nedvizhimost/arenda/arenda-vip-ofisa-ul-r-okipnoj4-a.htm#more-153" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','domikrent.com']);"> </a></p>
    
    <p><a href="http://domikrent.com/nedvizhimost/arenda/arenda-vip-ofisa-ul-r-okipnoj4-a.htm#more-153" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','domikrent.com']);"></a></p>
    <p><a href="http://domikrent.com/nedvizhimost/arenda/arenda-vip-ofisa-ul-r-okipnoj4-a.htm#more-153" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','domikrent.com']);"> </a></p>
    <p><a href="http://domikrent.com/nedvizhimost/arenda/arenda-vip-ofisa-ul-r-okipnoj4-a.htm#more-153" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','domikrent.com']);"></a></p>
    <p><a href="http://domikrent.com/nedvizhimost/arenda/arenda-vip-ofisa-ul-r-okipnoj4-a.htm#more-153" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','domikrent.com']);"> </a></p>
    <p><a href="http://domikrent.com/nedvizhimost/arenda/arenda-vip-ofisa-ul-r-okipnoj4-a.htm#more-153" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','domikrent.com']);"></a></p>
    <p>Сдам офисное помещение,  5 кв.м., ст. м &laquo;Левобережная&raquo;, н/ф, цоколь,   евроремонт (ламинат,обои под покраску),  кондиционирование, телефон  (телесистемы),  интернет, услуги секретаря.<strong> Цена включая аренду + коммунальные + э.э.-  1200 грн/мес;</strong></p>
    <p>Сдаю свое, без комиссионных!</p>
    <p><a href="http://domikrent.com/nedvizhimost/arenda/arenda-vip-ofisa-ul-r-okipnoj4-a.htm#more-153" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','domikrent.com']);"></a></p>

    И еще сотня строк
    Коротко об авторе - Знание ПК:
    Знание языков программирования: pascal, Delphi 7, C++, C#, Assembler, java, php, javascript, ajax, jQuery, css, htm, flexl; ЗнаниеСУБД: mySQl, MsSQL, Oracl; Знания библиотек distributed computing: MPI, Win32; Знания серверов: Apache 2, Tomcat; ОС: Windows, Unix; Паттерны проектирования; MVC;

    Умения администрировать Unix системы. Навыки в настройке: Bind9, POP3 SMTP IMAP – servers, Apache PHP MySQL5, NFS –server, OSPF or RIP servers, DHCP, configuration Unix Firewalls.

    Завтра будем собеседовать....

    kyzi007, 22 Ноября 2011

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