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

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

    +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
    stop() {
      PIDS=$(/sbin/pidof $PNAME)
      CNT=0
      if [[ $PIDS != "" ]]; then
    	echo -n "Stopping $PNAME: "
    	killall $PNAME && echo "ok" || echo "failed"
      	while [[ $PIDS != "" ]]
      	do 
      		PIDS=$(/sbin/pidof $PNAME)
    		echo -n "."
    		sleep 1
    		CNT=$(($CNT+1))
    		if [[ $CNT -eq 3 ]]; then killall -9 $PNAME;echo -e "\n$PNAME: Force kill";break; fi
      	done
      	echo 
      else echo "$PNAME: don't start"
      fi
    }

    Так автор видел выключение процесса. Процесс работает с файлами на жестком диске и ему важна их целостность, поэтому за 3 секунды не завершался. А еще при gracefully shutdown пишется обновление конфига процесса на диск. Но кого волнуют такие мелочи если оно уже работает в проде 7+ лет

    codemeow, 04 Февраля 2022

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

    +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
    // тред лоулевел-хаков #1
    
    #include <stdio.h>
    #include <stdlib.h>
    
    void hello(void)
    {
            puts("Hello!");
    }
    
    void goodbye(void)
    {
            puts("Goodbye!");
    }
    
    void set_sp_(void *p)
    {
            void *s[0];
            s[0] = p;
    }
    
    void set_sp(void *p)
    {
            set_sp_((void*)p);
    }
    
    int main(void)
    {
            void *new_stack[1024] = {
                    [1019] = (void*)0,
                    [1020] = (void*)&hello,
                    [1021] = (void*)&goodbye,
                    [1022] = (void*)&exit
            };
            set_sp((void*)&new_stack[1019]);
            return 0;
    }

    UB-ы, платформенно зависимый кот, битовая магия

    всё сюда
    |
    |
    \/

    Hu3KoypoBHeBblunemyx, 28 Января 2022

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

    +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
    #include <stdio.h>
    #include <string.h>
    
    int main() 
    {
        char* lalka = "bagor";
        if (0!=strcmp(lalka, "bagor‮ ⁦// comment⁩ ⁦")) {
            puts("Kakoi gabor )))");
        }
        if (0!=strcmp(lalka, "bagor")){
            puts("Pituz!");
        }    
        return 0;
    }

    https://ideone.com/RiM3LX

    #stdout
    Kakoi gabor )))

    3.14159265, 27 Января 2022

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

    +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
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
      int a[4] = {1, 2, 3, 4};
      int (*a_p1)[4] = (int (*)[4])a;
      int (*a_p2)[4] = &a;
      for(size_t i = 0; i < 4; ++i)
      {
        printf("%p -> %d; %p -> %d\n", &(*a_p1)[i], (*a_p1)[i], &(*a_p1)[i], (*a_p2)[i]);
      }
      return EXIT_SUCCESS;
    }

    Вот такой вывод:
    0x7ffee4ebd950 -> 1; 0x7ffee4ebd950 -> 1
    0x7ffee4ebd954 -> 2; 0x7ffee4ebd954 -> 2
    0x7ffee4ebd958 -> 3; 0x7ffee4ebd958 -> 3
    0x7ffee4ebd95c -> 4; 0x7ffee4ebd95c -> 4

    j123123, 14 Января 2022

    Комментарии (102)
  6. Python / Говнокод #27953

    +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
    a = int(input('Введите число A: '))
    b = int(input('Введите число B: '))
    c = int(input('Введите число C: '))
    d = int(input('Введите число D: '))
    
    if a % 2 == 0 and  b % 2 == 0 and c % 2 == 0 and d % 2 == 0:
    	print ('Все числа четные')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 == 0 and d % 2 == 0:
    	print ('Все числа четные, кроме числа А')
    elif a % 2 == 0 and  b % 2 != 0 and c % 2 == 0 and d % 2 == 0:
    	print ('Все числа четные, кроме числа B')
    elif a % 2 == 0 and  b % 2 == 0 and c % 2 != 0 and d % 2 == 0:
    	print ('Все числа четные, кроме числа C')
    elif a % 2 == 0 and  b % 2 == 0 and c % 2 == 0 and d % 2 != 0:
    	print ('Все числа четные, кроме числа D')
    
    elif a % 2 != 0 and  b % 2 != 0 and c % 2 == 0 and d % 2 == 0:
    	print ('Числа C и D четные, а А и B нет')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 != 0 and d % 2 == 0:
    	print ('Числа B и D четные, а А и C нет')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 == 0 and d % 2 != 0:
    	print ('Числа B и C четные, а А и D нет')
    # with B
    elif a % 2 == 0 and  b % 2 != 0 and c % 2 != 0 and d % 2 == 0:
    	print ('Числа A и D четные, а B и C нет')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 != 0 and d % 2 == 0:
    	print ('Числа B и D четные, а А и C нет')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 == 0 and d % 2 != 0:
    	print ('Числа B и C четные, а А и D нет')
    
    elif a % 2 == 0 and  b % 2 == 0 and c % 2 != 0 and d % 2 != 0:
    	print ('Числа A и B четные, а C и D нет')
    
    elif a % 2 == 0 and  b % 2 != 0 and c % 2 != 0 and d % 2 != 0:
    	print ('Все числа нечетные, кроме числа А')
    elif a % 2 != 0 and  b % 2 == 0 and c % 2 != 0 and d % 2 != 0:
    	print ('Все числа нечетные, кроме числа B')
    elif a % 2 != 0 and  b % 2 != 0 and c % 2 == 0 and d % 2 != 0:
    	print ('Все числа нечетные, кроме числа C')
    elif a % 2 != 0 and  b % 2 != 0 and c % 2 != 0 and d % 2 == 0:
    	print ('Все числа нечетные, кроме числа D')
    else:
    	print ('Введите только целые числа')

    lainde, 14 Января 2022

    Комментарии (33)
  7. 1C / Говнокод #27948

    +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
    Функция ПолучитьПарамтерыОтправкиРеестра()
    	Адресат = ПараметрыСеанса.ТекущийПользователь.аОфис.ОфисАрхивации.Ответственный;
    	
    	Запрос = Новый Запрос;
    	Запрос.Текст = "ВЫБРАТЬ
    			               |	ТерриторииИПомещения.Ссылка КАК Ссылка
    			               |ИЗ
    			               |	Справочник.ТерриторииИПомещения КАК ТерриторииИПомещения
    			               |ГДЕ
    			               |	ТерриторииИПомещения.аОфисПредприятия = &Архив
    			               |	И НЕ ТерриторииИПомещения.ПометкаУдаления";
    	Запрос.УстановитьПараметр("Архив", Адресат.аОфис.ОфисАрхивации);
    	РЗОф = Запрос.Выполнить().Выгрузить();
    	Если РЗОф.Количество() = 0 Тогда
    		Сообщить("Офис архивации """ + Адресат.аОфис.ОфисАрхивации + """ не прикреплен к территории. Обратитесь в техническую поддержку");
    	ИначеЕсли РЗОф.Количество() > 1 Тогда
    		Сообщить("Офис архивации """ + Адресат.аОфис.ОфисАрхивации + """ прикреплен к нескольким территориям:");
    		Для Каждого СтрТер ИЗ РЗОф Цикл
    			Сообщить(СтрТер.Ссылка);
    		КонецЦикла;
    		Сообщить("Обратитесь в техническую поддержку.");
    	Иначе
    		ОфисПолучателя = РЗОф[0].Ссылка;	
    		ПодразделениеПолучателя = Адресат.Подразделение;		
    	КонецЕсли;
    
    	Возврат Новый Структура("Адресат, ОфисПолучателя, ПодразделениеПолучателя", Адресат, ОфисПолучателя, ПодразделениеПолучателя);
    КонецФункции

    alexey85, 12 Января 2022

    Комментарии (0)
  8. Java / Говнокод #27934

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Main {
      public static void main(String[] args) {
    	System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(new Date(2022 - 1900, 0, 1, 20, 30)));
    	System.out.println(new SimpleDateFormat("YYYY-MM-dd").format(new Date(2022 - 1900, 0, 1, 20, 30)));
      }
    }

    А что там у Jawa-блядей за отсос должен был случиться 1 января? Я что-то не могу воспроизвести:
    https://www.programmersought.com/article/47096700076/

    3_dar, 07 Января 2022

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

    +1

    1. 1
    IT Оффтоп #141

    #111: https://govnokod.ru/27644 https://govnokod.xyz/_27644
    #112: https://govnokod.ru/27648 https://govnokod.xyz/_27648
    #113: https://govnokod.ru/27652 https://govnokod.xyz/_27652
    #114: https://govnokod.ru/27659 https://govnokod.xyz/_27659
    #115: https://govnokod.ru/27665 https://govnokod.xyz/_27665
    #116: https://govnokod.ru/27671 https://govnokod.xyz/_27671
    #117: https://govnokod.ru/27675 https://govnokod.xyz/_27675
    #118: https://govnokod.ru/27685 https://govnokod.xyz/_27685
    #119: https://govnokod.ru/27701 https://govnokod.xyz/_27701
    #120: https://govnokod.ru/27703 https://govnokod.xyz/_27703
    #121: https://govnokod.ru/27710 https://govnokod.xyz/_27710
    #122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
    #123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
    #124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
    #125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
    #126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
    #127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
    #128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
    #129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
    #130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
    #131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
    #132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
    #133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
    #134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
    #135: https://govnokod.ru/27839 https://govnokod.xyz/_27839
    #136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
    #137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
    #138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
    #139: https://govnokod.ru/27887 https://govnokod.xyz/_27887
    #140: https://govnokod.ru/27900 https://govnokod.xyz/_27900

    nepeKamHblu_nemyx, 02 Января 2022

    Комментарии (484)
  10. Python / Говнокод #27912

    +1

    1. 1
    description = f"""У тебя , **{ctx.author}** вот столько балов!**{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :polegar_para_cima:**"""

    Насмотревшиеся Хауди Хо ботопейсатели - это, конечно, нечто.
    1. Выполнение SQL-запроса вставлено прямо в шаблонизируемую строку
    2. Сам запрос формируется через форматирование строки (привет, Бобби Тейблз!)
    3. Не проверяется, вернула ли база хоть что-то.

    "Не могу понять в чем проблема?" (с)

    Vindicar, 02 Января 2022

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

    +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
    type CreateMutable<Type> = {
      -readonly [Property in keyof Type]: Type[Property];
    };
     
    type LockedAccount = {
      readonly id: string;
      readonly name: string;
    };
    
    type UnlockedAccount = CreateMutable<LockedAccount>;
    
    function main() {
        let a: LockedAccount;
        let b: UnlockedAccount;
    
        print("done.");
    }

    Я вам наговнокодил новую фичу.. называется "mapped type"

    ASD_77, 01 Января 2022

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