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

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

    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
    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
    public class Checker
        {
            public bool CheckInn(long inn)
            {
                var values = inn.ToArray();
    
                switch (values.Length)
                {
                    case 10:
                        #region Юр. лица
                        var coefficientsN10 = new byte[] { 2, 4, 10, 3, 5, 9, 4, 6, 8 };
    
                        int sumN10 = GetSumNx(values, coefficientsN10);
    
                        var checkNumberN10 = (sumN10 % 11) % 10;
    
                        return values[^1] == checkNumberN10;
                    #endregion
    
                    case 12:
                        #region Физ. лица
                        var coefficientsN11 = new byte[] { 7, 2, 4, 10, 3, 5, 9, 4, 6, 8 };
                        var coefficientsN12 = new byte[] { 3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8 };
    
                        var sumN11 = GetSumNx(values, coefficientsN11);
    
                        var checkNumberN11 = (sumN11 % 11) % 10;
    
                        var sumN12 = GetSumNx(values, coefficientsN12);
    
                        var checkNumberN12 = (sumN12 % 11) % 10;
    
                        return values[^2] == checkNumberN11 && values[^1] == checkNumberN12;
                    #endregion
    
                    default:
                        return false;
                }
            }
            private int GetSumNx(byte[] values, byte[] coefficientsNx)
            {
                var sumNx = 0;
    
                for (int i = 0; i < coefficientsNx.Length; i++)
                    sumNx += coefficientsNx[i] * values[i];
    
                return sumNx;
            }
        }
    
    
     public static class Extensions
        {
            public static byte[] ToArray(this long number)
            {
                var values = new Stack<byte>(12);
    
                while (number != 0)
                {
                    values.Push((byte)(number % 10));
                    number /= 10;
                }
                return values.ToArray();
            }
        }

    Проверка ИНН, ну и говно

    techlead_seneor_228, 07 Ноября 2020

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

    −1

    1. 1
    Get-NetTCPConnection -State Listen | %{[pscustomobject]@{Port=$_.LocalPort; Process=$(Get-Process -Id $_.OwningProcess)}} | sort {[int]$_.Port}

    Давайте течь от powershell.

    MAPTbIwKA, 15 Октября 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    -module(server).
    -export([start/0]).
    
    start() ->
      rooster:start(#{port => 8080},
                    #{routes => [hello()]}).
    
    hello() ->
      {'GET', "/hello", fun(_) -> {200, #{message => <<"hello world">>}} end}.

    https://github.com/fbeline/rooster

    Rooster

    Simplistic REST framework that runs on top of mochiweb.

    3_dar, 24 Сентября 2020

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

    +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
    foreach ($files as $n => $f) {
        $new_content = $common.$namespace_begin.$f.$namespace_end;
    
        $std_methods = array();
        preg_match_all('/std::[a-z_0-9]*/', $new_content, $std_methods);
        $std_methods = array_unique($std_methods[0]);
    
        $needed_std_headers = array();
        $type_headers = array(
            'std::move' => '',
            'std::vector' => '',
            'std::string' => '',
    // [...]
            'std::unordered_set' => 'unordered_set');
        foreach ($type_headers as $type => $header) {
            if (in_array($type, $std_methods)) {
                $std_methods = array_diff($std_methods, array($type));
                if ($header && !in_array($header, $needed_std_headers)) {
                    $needed_std_headers[] = $header;
                }
            }
        }
    
        if (!$std_methods) { // know all needed std headers
            $new_content = preg_replace_callback(
                '/#include <([a-z_]*)>/',
                function ($matches) use ($needed_std_headers) {
                    if (in_array($matches[1], $needed_std_headers)) {
                        return $matches[0];
                    }
                    return '';
                },
                $new_content
            );
        }

    Тут вот в https://govnokod.ru/20049 CHayT предлагал использовать «PHP» в качестве препроцессора для «C» — так вот в «Телеграме» совет оценили и решили взять на вооружение.
    https://github.com/tdlib/td/blob/master/SplitSource.php

    gost, 13 Сентября 2020

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

    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
    public bool IsTransfarable
            {
                get
                {
                    switch (unitType)
                    {
                        case UnitTypes.SIEGE_TANK:
                        case UnitTypes.WIDOW_MINE:
                        case UnitTypes.SIEGE_TANK_SIEGED:
                        case UnitTypes.WIDOW_MINE_BURROWED:
                            return true;
                    }
    
                    return false;
                }
            }

    если что догадается что это выложу весь код :)

    ASD_77, 24 Августа 2020

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

    +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
    // Вот код скрипта для отправки емейла:
    
    mb_internal_encoding ("utf-8");
    $from = "Иван Иванов <[email protected]>";
    $to = $name."<$email>";
    $subject = "Подтверждение подписки";
    $message = "текст письма здесь";
    $headers = "From: ".$from."\nReply-To: ".$from."\nContent-Type: text/plain; charset=utf-8\nContent-Transfer-Encoding: 8bit";
    mail ($to, $subject, $message, $headers);
    
    // И что характерно, само тело письма приходит в правильной кодировке. А вот поля отправителя,
    // получателя и сабж письма - в краказябинах. Сами тексты этих полей 100% написаны в utf-8, код скрипта тоже в utf-8.
    // Вот что что я вижу в почте:
    
    // Subject: РРѕРґСРІРµСждение РїРѕРґРїРёСРєРё
    // From: Рван Рванов <[email protected]>
    // Reply-To: Рван Рванов <[email protected]>
    
    // ...
    
    // Проблема решилась следующим образом:
    $subject = "=?utf-8?B?" . base64_encode("Подтверждение подписки") . "?=";
    // И так для каждого поля.

    https://phpclub.ru/talk/threads/Нужна-помощь-битая-кодировка-в-письме.82881/

    gost, 20 Мая 2020

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

    +6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public DateTime Birth { get; }
    
    public int Age
    {
        get
       {
            var n = 0;
            while(Birth.AddYears(n + 1) < DateTime.Now) ++n;
            return n;
        }
    }

    Проверял работу у изворотливой студентки

    gravejohn4, 28 Апреля 2020

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

    +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
    for ($cycle = 1; $cycle <= 6; $cycle++) {
        $all_tasks = get_all_tasks();
        if ($all_tasks) {
            foreach($all_tasks as $one_task) {
                $lock_file_abs = __DIR__.'/locks/run_'.$one_task['id'];
                $fp = fopen($lock_file_abs,"w+");
                if (flock($fp, LOCK_EX | LOCK_NB)) {
                    solve_one_task($one_task);
                    flock($fp, LOCK_UN);
                }
                else {
                    #не можем запускать обработку задачи
                }
                fclose($fp);
                unlink($lock_file_abs);
            }
        }
        sleep(10);
    }

    «Как запускать cron чаще, чем раз в минуту при помощи PHP»
    https://habr.com/ru/post/498934/

    gost, 25 Апреля 2020

    Комментарии (20)
  10. Java / Говнокод #26555

    0

    1. 1
    https://i.postimg.cc/7Z5pfXKj/gavno.png

    --Существует ли функция с такими перегрузками, что у всякого, кто ее использует, возникает желание повести автора этой функции?
    --Конечно, лови

    MAKAKA, 07 Апреля 2020

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

    +2

    1. 1
    2. 2
    3. 3
    Global Install
    Installing Yarn 2.x globally is discouraged as we're moving to a per-project install strategy. 
    We advise you to keep Yarn 1.x (Classic) as your global binary by installing it via the instructions you can find here.

    https://yarnpkg.com/getting-started/install

    Мы выпустили вторую версию приложеньки, в которой исправили все недочёты первой.
    Именно поэтому запускать вы её будете через первую версию, которая с вами навсегда.
    Мы проработали другие варианты и пришли к решению, что они все неправильные.

    Сердечно ваши,
    джаваскриптеры.

    Fike, 07 Марта 2020

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