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

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

    +1

    1. 1
    СТРЗАМЕНИТЬ(СОКРЛ(СТРЗАМЕНИТЬ(уатПутевойЛист.Номер, "0", " ")), " ", "0") КАК НомерПЛ,

    Удаляет нули в номере документа для вывода на печатную форму

    serving12, 18 Августа 2022

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
         * @param string $login
         * @return User
         * @throws GuzzleException
         */
        public function getExternalUser(string $login):FreeIpaUser{
            return $this->UserFactory->createUser($login,$this->getUser($login));
        }

    1g0rbm, 16 Августа 2022

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

    +1

    1. 1
    Из-за тебя ушел я, %username%!

    Ня, пока.

    hormand, 08 Августа 2022

    Комментарии (2)
  5. Си / Говнокод #28309

    +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
    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
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    #include <stdio.h>
    #include <string.h>
    #include <inttypes.h>
    
    void swap(uint8_t *x, uint8_t *y)
    {
        uint8_t tmp;
        tmp = *x;
        *x = *y;
        *y = tmp;
    }
    
    // эту хуйню тоже можно нагенерировать
    uint64_t cmp_bits(uint8_t a[restrict 9])
    {
      return 
      ((uint64_t)(a[0] < a[1]) << 0) |
      ((uint64_t)(a[0] < a[2]) << 1) |
      ((uint64_t)(a[0] < a[3]) << 2) |
      ((uint64_t)(a[0] < a[4]) << 3) |
      ((uint64_t)(a[0] < a[5]) << 4) |
      ((uint64_t)(a[0] < a[6]) << 5) |
      ((uint64_t)(a[0] < a[7]) << 6) |
      ((uint64_t)(a[0] < a[8]) << 7) |
    
      ((uint64_t)(a[1] < a[2]) << 8)  |
      ((uint64_t)(a[1] < a[3]) << 9)  |
      ((uint64_t)(a[1] < a[4]) << 10) |
      ((uint64_t)(a[1] < a[5]) << 11) |
      ((uint64_t)(a[1] < a[6]) << 12) |
      ((uint64_t)(a[1] < a[7]) << 13) |
      ((uint64_t)(a[1] < a[8]) << 14) |
    
      ((uint64_t)(a[2] < a[3]) << 15) |
      ((uint64_t)(a[2] < a[4]) << 16) |
      ((uint64_t)(a[2] < a[5]) << 17) |
      ((uint64_t)(a[2] < a[6]) << 18) |
      ((uint64_t)(a[2] < a[7]) << 19) |
      ((uint64_t)(a[2] < a[8]) << 20) |
    
      ((uint64_t)(a[3] < a[4]) << 21) |
      ((uint64_t)(a[3] < a[5]) << 22) |
      ((uint64_t)(a[3] < a[6]) << 23) |
      ((uint64_t)(a[3] < a[7]) << 24) |
      ((uint64_t)(a[3] < a[8]) << 25) |
    
      ((uint64_t)(a[4] < a[5]) << 26) |
      ((uint64_t)(a[4] < a[6]) << 27) |
      ((uint64_t)(a[4] < a[7]) << 28) |
      ((uint64_t)(a[4] < a[8]) << 29) |
    
      ((uint64_t)(a[5] < a[6]) << 30) |
      ((uint64_t)(a[5] < a[7]) << 31) |
      ((uint64_t)(a[5] < a[8]) << 32) |
    
      ((uint64_t)(a[6] < a[7]) << 33) |
      ((uint64_t)(a[6] < a[8]) << 34) |
    
      ((uint64_t)(a[7] < a[8]) << 35);
    }
    
    void printshit(uint8_t a[restrict 9])
    {
      size_t i = 0;
      while(*a != 4)
      {
        a++;
        i++;
      }
      printf("arr[%" PRIu64 "] = %zu\n", cmp_bits(a), i);
    }
    
    void permute(char *a, size_t l, size_t r)
    {
      size_t i;
      if (l == r)
        printshit(a);
      else
      {
        for (i = l; i <= r; i++)
        {
          swap((a+l), (a+i));
          permute(a, l+1, r);
          swap((a+l), (a+i));
        }
      }
    }
    
    int main()
    {
        uint8_t a[] = {0,1,2,3,4,5,6,7,8};
        size_t n = 9;
        permute(a, 0, n-1);
        return 0;
    }

    https://govnokod.ru/24496#comment782476

    Построение таблицы поиска для быстрого нахождения медианы. Там эту хуйню конечно можно улучшить, например запаковывать число от 0 до 8 в хуйни по 4 бита

    j123123, 31 Июля 2022

    Комментарии (55)
  6. Lua / Говнокод #28288

    +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
    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
    66. 66
    67. 67
    local victim_say={"Конец мне приходит...", "Помираю я... Помоги...", "Браток, помоги!",
    "Аптечку! Дай аптечку!","Врача, батенька.", "Под пулю я попал.", "Я ранен!","Слышь, браток, помоги!","Хана мне приходит","Сегодня не мой день...","Заболел я."}
    local vs=#victim_say
    
    
    local actor_say={"Тебе плохо? Может, врача вызвать?", "Могу дать номер знакомого врача.", "Мда, скорая не успеет.",
    "Не беспокойся, все там будем!","Корми червей, падла.","Умри!","Дойдёшь до больницы?","Извини, я не доктор.","Выкручивайся сам","Мне некогда"}
    local ds=#actor_say	
    
    
    local victim_ans={"Ну и подонок же ты, Меченый.", "Проваливай!", "Обойдусь сам!", "Помощь от тебя была бы хуже смерти. Проваливай!","Я ещё доберусь до тебя!", "Подонок!", "Моя смерть будет на твоей совести.","Встретимся в аду.","Просто уходи.","Я ещё вернусь...","Это ещё не конец."}
    
    local va=#victim_ans
    
    local victim_tnk={"Спасибо! Ты меня спас!", "Благодарю! Признаться, не ожидал.", "Спасибо, Меченый!", "Спасибо за помощь!","Я ещё живой? Это благодаря тебе!", "Ты мой спаситель!", "Моя смерть была бы на твоей совести","Я твой должник!","Ты ждешь благодарности?","На твоем месте я бы тебя пристрелил","Мерси за помощь!"}
    
    local vt=#victim_tnk
    
    	
    function init_intro_dialogb(dlg)
    	local k,v = 0,0
    	local phr = dlg:AddPhrase("","0","",-10000)
    	phr = dlg:AddPhrase("","1","0",-10000)
    	
    	local id=math.random(vs)
    	local ph=dlg:AddPhrase(victim_say[id],"333","1",-10000)
    	local ps = ph:GetPhraseScript()
    	ps:AddPrecondition("dialogs.is_wounded")
    	ph = dlg:AddPhrase("(Лечение)","444","333",-10000)
    	ps = ph:GetPhraseScript()
    	ps:AddAction("doctor.heal")
    	
    	local id=math.random(vt)
    	ph = dlg:AddPhrase(victim_tnk[id],"555","444",-10000)
    	--ps = ph:GetPhraseScript()
    --	ps:AddAction("dialogs.break_dialog")
    
    	
    	
    	
    	local id=math.random(ds)
    	local ph=dlg:AddPhrase(actor_say[id],"666","333",-10000)
    	local id=math.random(va)
    	local ph=dlg:AddPhrase(victim_ans[id],"777","666",-10000)
    
    	
    	
    
    
    	
    	for k,v in pairs(phrase.intro) do
    		phr = dlg:AddPhrase(v.name, v.phr_id, "1", -10000)
    		if phr then
    		
    			
    		
    			local phrase_script = phr:GetPhraseScript()
    			phrase_script:AddPrecondition("dialog_manager.precondition_intro")
    			--' Этот экшн запоминает последнюю фразу, чтобы персонаж говорил одно и то же.
    			--' Для фразы просьбы о помощи его добавлять не надо.
    			if v.wounded == "false" then
    				phrase_script:AddAction("dialog_manager.phrase_action_intro")
    			end
    		end
    	end
    	
    end

    Лечения раненых в Сталкере ТЧН. В диалоге с ранен(н)ым показывается как пункт "вылечить" так и рандомное издевательство, вроде "могу дать номер своего врача"

    CBuHOKYP, 21 Июля 2022

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

    +1

    1. 1
    Вчера в полдень страшно завыла сирена и напугала меня. У вас тоже воют, или только у нас?

    Не к добру это. Ох, не к добру.

    KPblCA, 20 Июля 2022

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    int my_strcmp(const char *out, const char *in   ){
      for( ;*(in) , *(out) &&  *(in) == *(out); *out++,*in++  );
    	   return   *in <= *out ?  *out > *in   : -1   ;
    	}

    Бульк

    lazy_8, 06 Июля 2022

    Комментарии (8)
  9. Go / Говнокод #28254

    +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
    package main
    
    import "log"
    
    func foo(x int) (int, error) {
        return x + 1, nil
    }
    
    func main() {
        x := 5
        if x % 2 == 1 {
            x, err := foo(x)
            if err != nil {
                log.Fatalf("Error")
            }
            log.Println(x)
        }
        log.Println(x)
    }

    Счастливой отладки, суки.

    https://godbolt.org/z/6GWsq7W7q

    3_dar, 29 Июня 2022

    Комментарии (47)
  10. PHP / Говнокод #28133

    +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
    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
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    $ss_n = 0;
    			$ss_nf = 0;
    			$ss_f = 0;
    			$ss_n_pl = 0;
    			$ss_nf_pl = 0;
    			$ss_f_pl = 0;
    			$ids_count = count($ids);
    		for ($i=0;$i < $ids_count;$i++) {
    			$key = $w_dates[$z]."|1|".$ids[$i];
    			$ss_n += $w_n_s[$key]*1;
    			$ss_nf += $w_nf_s[$key]*1;
    			$ss_f += $w_f_s[$key]*1;
    			$key = $w_dates[$z]."|2|".$ids[$i];
    			$ss_n += $w_n_s[$key]*1;
    			$ss_nf += $w_nf_s[$key]*1;
    			$ss_f += $w_f_s[$key]*1;
    			$key = $w_dates[$z]."|3|".$ids[$i];
    			$ss_n += $w_n_s[$key]*1;
    			$ss_nf += $w_nf_s[$key]*1;
    			$ss_f += $w_f_s[$key]*1;
    		}
    		$ids_count = count($ids);
    		for ($i=0;$i < $ids_count;$i++) {
    			$key = $w_dates[$z]."|1|".$ids[$i];
    			$ss_n_pl = $ss_n_pl + $w_n_s_pl[$key]*1;
    			$ss_nf_pl = $ss_nf_pl + $w_nf_s_pl[$key]*1;
    			$ss_f_pl = $ss_f_pl + $w_f_s_pl[$key]*1;
    			$key = $w_dates[$z]."|2|".$ids[$i];
    			$ss_n_pl = $ss_n_pl + $w_n_s_pl[$key]*1;
    			$ss_nf_pl = $ss_nf_pl + $w_nf_s_pl[$key]*1;
    			$ss_f_pl = $ss_f_pl + $w_f_s_pl[$key]*1;
    			$key = $w_dates[$z]."|3|".$ids[$i];
    			$ss_n_pl = $ss_n_pl + $w_n_s_pl[$key]*1;
    			$ss_nf_pl = $ss_nf_pl + $w_nf_s_pl[$key]*1;
    			$ss_f_pl = $ss_f_pl + $w_f_s_pl[$key]*1;
    		}
    
    		echo "<td class='Field' rowspan='3' style='vertical-align: middle;'><b>".OutNF($ss_n,$ss_nf,$ss_f)."</b></td>\n";
    		echo "<td class='Field' rowspan='3' style='vertical-align: middle;'><b style='color:#aa0000;'>".OutNF($ss_n_pl,$ss_nf_pl,$ss_f_pl)."</b></td>\n";
    
    		echo "</tr><tr>";
    
    		////////////////////////////////////////////////////////////
    		echo "<td class='Field' width='40' style='vertical-align: middle;'><b>II</b></td>\n";
    			$s_n = 0;
    			$s_nf = 0;
    			$s_f = 0;
    			$s_n_pl = 0;
    			$s_nf_pl = 0;
    			$s_f_pl = 0;
    		for ($i=0;$i < count($ids);$i++) {
    			$key = $w_dates[$z]."|2|".$ids[$i];
    			$s_n = $s_n + $w_n_s[$key]*1;
    			$s_nf = $s_nf + $w_nf_s[$key]*1;
    			$s_f = $s_f + $w_f_s[$key]*1;
    			$s_n_pl = $s_n_pl + $w_n_s_pl[$key]*1;
    			$s_nf_pl = $s_nf_pl + $w_nf_s_pl[$key]*1;
    			$s_f_pl = $s_f_pl + $w_f_s_pl[$key]*1;
    			if ($edti_stat[$key]==1){
    				echo "<td class='Field'>".OutNF($w_n_s[$key],$w_nf_s[$key],$w_f_s[$key])."</td>\n";
    			}
    			if ($edti_stat[$key]==0){
    				$link_dat = explode("|", $key);
    				$link_dat2 = $link_dat[0];
    				$link_dat3 = $link_dat[1];
    				echo "<td class='Field'><a target='_bland' href='index.php?do=show&formid=64&p0=".$link_dat2."&p1=".$link_dat3."'><b style='color:#aa0000;'>".OutNF($w_n_s_pl[$key],$w_nf_s_pl[$key],$w_f_s_pl[$key])."</b></a></td>\n";
    			}
    		}
    		echo "<td class='Field'></td>\n";
    		echo "<td class='Field'><b>".OutNF($s_n,$s_nf,$s_f)."</b></td>\n";
    		echo "<td class='Field'></td>\n";
    		echo "<td class='Field'></td>\n";
    		echo "<td class='Field'><b style='color:#aa0000;'>".OutNF($s_n_pl,$s_nf_pl,$s_f_pl)."</b></td>\n";
    		echo "<td class='Field'></td>\n";
    		////////////////////////////////////////////////////////////

    kib0rg, 22 Апреля 2022

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

    +1

    1. 1
    2. 2
    3. 3
    https://hr.cetera.ru/tests-developers/
    
    Какой мяуздец )))

    Внимание, кандидаты в стажёры!

    Тестовое задание (поле анкеты «Ссылку на выполненное тестовое задание (ТОЛЬКО ДЛЯ СТАЖЁРОВ).») требуется выполнять сразу. Анкеты без тестового задания не рассматриваем, отказываем сразу. Этот тест — первое, на что смотрит проверяющий анкеты. Если поле пустое или там написано что-то вроде «сделаю потом» — «потом» не будет.

    KoWe4Ka_l7porpaMMep, 17 Апреля 2022

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