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

    В номинации:
    За время:
  2. Куча / Говнокод #24880

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Давайте обсудим документацию для программ на GNU/Linux, и документацию MSDN.
    
    Я считаю, что по архитектуре и по документации GNU/Linux намного лучше.
    Потому что в man обычно декларативный стиль, и описывается поведение.
    Если же читать о windows программах -- то я обычно натыкаюсь на тупо гайды, где не описано конкнетно для чего такие действия нужно делать, 
    и как это будет обработано внутренней логикой программы.
    
    Linux -- ОС для разработчиков и инженеров ПО. Windows -- сомневаюсь что нацелена на это.

    OlegUP, 08 Октября 2018

    Комментарии (25)
  3. Си / Говнокод #24818

    −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
    #include <stdio.h>
    #include <locale.h>
    main()
    {
    	setlocale(LC_ALL, "Rus");
    	float lower, medium, upper;
    	lower = 2;
    	medium = 50;
    	upper = 100;
    	float step = 1;
    	printf( "\t\t%s\n\n\n","Температура пукана относительно изучения ЯП (10 лет) ");
    	printf("%s\t\t%s\t\t%s\n","изучение основ","изучение STL" , "делать сайтики на Ассемблере");
    	while (step <= 10)
    	{
    		++step;
    		printf("%.1f\t\t\t%.1f\t\t\t%.1f\n", lower*step, lower*step*5, medium * step*10);
    	}
    	getchar();
    }

    Немного статистики Hot пукана

    __DmitrJ, 26 Сентября 2018

    Комментарии (25)
  4. PHP / Говнокод #24812

    −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
    class MyBigClass
    {
        var $allocatedSize;
        var $allMyOtherStuff;
    }
    
    function AllocateMyBigClass()
    {
        $before = memory_get_usage();
        $ret = new MyBigClass;
        $after = memory_get_usage();
        $ret->allocatedSize = ($after - $before);
    
        return $ret;
    }

    Зачем нам в языке адекватный sizeof, у нас нет времени, чтобы ебаться с ним!

    Подробнее: https://stackoverflow.com/questions/1351855/getting-size-in-memory-of-an-object-in-php

    gost, 25 Сентября 2018

    Комментарии (25)
  5. Куча / Говнокод #24798

    −2

    1. 1
    https://habr.com/post/423889/

    Публикация отхватила неебическое количество плюсов.

    LinuxGovno, 21 Сентября 2018

    Комментарии (25)
  6. PHP / Говнокод #24379

    +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
    #include <stdio.h>
    
    int main()
    {
    
    <?php
        function genputs($s) {
            echo "\tputs(\"$s\");\n";
        }
        function f($i) {
            if ($i >= 5 && $i <= 20 || $i % 10 >= 5 || $i % 10 == 0)
                return "ок";
            elseif ($i % 10 == 1)
                return "ка";
            else
                return "ки";
        }
        $i = 99;
        while ($i >= 1) {
            $s = f($i);
            genputs("$i бутыл$s пива на стене");
            genputs("$i бутыл$s пива!");
            genputs("Возьми одну, пусти по кругу");
            if ($i-- > 1) {
                $s = f($i);
                genputs("$i бутыл$s пива на стене!");
            }
        }
        genputs("Нет бутылок пива на стене!");
    ?>
    
        return 0;
    }

    Когда хочется в Си такой же няшный препроцессор как в FASM'е...

    666_N33D135, 12 Июня 2018

    Комментарии (25)
  7. Си / Говнокод #24350

    −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
    int mysolve (int a, int b, int m) {
    	int n = (int) sqrt (m + .0) + 1;
     
    	int an = 1;
    	for (int i = n, t = a; i;) {
    		if (i & 1) {
    		    an = (an * t) % m;
    		    i -= 1;
    		} else {
    			t = (t * t) % m;
    			i >>= 1;
    		}
            }
     
    	int *vals = (int*) malloc(m * sizeof(int));
    	memset(vals, -1, m * sizeof(int));
     
    	for (int i = 1, cur = an; i <= n; ++i) {
    		if (vals[cur] == -1) vals[cur] = i;
    		cur = (cur * an) % m;
    	} 
     
    	for (int i = 0, cur = b; i <= n; ++i) {
    		if (vals[cur] != -1) {
    			int ans = vals[cur] * n - i;
    			if (ans < m) {
    				free(vals);
    				return ans;
    			}
    		}
    		cur = (cur * a) % m;
    	}
    	free(vals);
    	return -1;
    }

    Чото както тухло тут.
    Вот держите, вспомнил своё олимпиАДное прошлое, перевёл на Сишку и оптимизировал вот этоу хуйнц: https://e-maxx.ru/algo/discrete_log
    Чем больше модуль, ьем боьше жрёт память, дальше оптимизировать лень.

    Мне кажется, что что-то я здесь сделал не так...

    666_N33D135, 02 Июня 2018

    Комментарии (25)
  8. Python / Говнокод #24102

    −2

    1. 1
    2. 2
    3. 3
    editText_url = tk.Entry(root)
    editText_url.bind(SEQ_FOCUS_IN, lambda e: editText_url.delete('0', 'end') if editText_url.get() == url_placeholder else "")
    editText_url.bind(SEQ_FOCUS_OUT, lambda e: editText_url.insert(0, url_placeholder) if len(editText_url.get()) == 0 else "")

    В tkinter нет EditText с плейсхолдером, выкручиваемся как можем!
    А еще в лямбде нельзя использовать if, зато можно тернарный оператор. `else` здесь беесполезен~

    saber-nyan, 10 Апреля 2018

    Комментарии (25)
  9. 1C / Говнокод #24036

    −2

    1. 1
    строкаР.сумма =(-1)*строкаР.сумма;

    "строкаР.сумма" всегда является числом

    naodesu, 30 Марта 2018

    Комментарии (25)
  10. C++ / Говнокод #24032

    +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
    // We have to put a separate function with 'if constexpr' here as Visual Studio
    // produces a false positive warning in a case of RegDstUInt == uint32
    // (shifting uint32 left by 32 is an undefined behavior)
    // See: https://developercommunity.visualstudio.com/content/problem/225040/c4293-false-positive-on-unreacheable-code.html
    static RegDstUInt get_hi_part( RegDstUInt value)
    {
        // Clang-Tidy generates a false positive 'misc-suspicious-semicolon' warning
        // on `if constexpr ()` with template
        // LLVM bug 35824: https://bugs.llvm.org/show_bug.cgi?id=35824
        if constexpr( (sizeof(RegDstUInt) > 4)
            return value >> 32; // NOLINT
    
        // GCC bug 81676 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81676
        // Wrong warning with unused-but-set-parameter within 'if constexpr'
        (void)(value); 
        return 0;
    }

    В попытке починить сборку в Visual Studio поломали GCC и Clang-Tidy.

    pavelmips, 29 Марта 2018

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

    +9

    1. 1
    Argument type mismatch

    Assertion failed

    Exception, 04 Марта 2018

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