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

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

    +44.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($_name=='homepage' AND !is_numeric($_GET['id2']))
    
    	include(SITEROOT."tpl/main.php");
    
    else
    
    	include(SITEROOT."tpl/main.php");

    Устроился программистом в одну контору... Начальник дал CMS типа их собственная разработка... вот что я там увидел

    guest, 10 Декабря 2008

    Комментарии (6)
  3. Java / Говнокод #75

    −53.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /**
     * Reply string array after tokenize the url address
     *
     * @param String url
     * @return String[]
     */
    protected String[] processURL(String url) {
    
        StringBuffer s = new StringBuffer(url);
        StringBuffer AfterRemoval = s.delete(0, 27);
    ...

    ...в тот день магическим числом для паренька из Индии было число 27... похоже он и сам не понимал почему.. возможно это как то было связано с именем хоста...

    guest, 08 Декабря 2008

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Функция ЧислоВСтрокуБезПробелов(Число) Экспорт
    	 Возврат СтрЗаменить(Строка(Число), Символы.НПП, "");
    КонецФункции
    
    Чем не подходит Формат???

    evreybiysk, 11 Июня 2025

    Комментарии (5)
  5. Haskell / Говнокод #29143

    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
    (defparameter *workers* 200)
    
    (defun rn-virt-dfns (data &optional (turn-on t))
      (defconstant +workers+ *workers*)
      `(declare (type (array (member ,(let* ((i '())) (do* ((y 0 (+ y 1))) ((= y 9) 'nil) (push y i)))) (3)) data))
      (sb-alien:define-alien-type address-pointer (sb-alien:system-area-pointer))
      (progn (macrolet ((>> (x s) `,(ash x s)) (<< (x -s) `(ash ,x ,(- -s))) (~ (x) `(lognot ,x)) (& (x) `(sb-kernel:get-lisp-obj-address ,x)))
        (let ((truedata (eval `(mapcar #'(lambda (x) (coerce x 'list)) (coerce ,data 'list)))))
          (labels ((get-pointer (addr)
                     (sb-sys:sap-ref-8 (sb-sys:int-sap addr) 0))
                   (proc-dfns-simd (pntrx mmr pntry orgdt)
                     (declare (type integer pntrx pntry)
                              (type (array integer (*)))
                              (type list orgdt))
                     (loop for it in `(,@orgdt)
                           do (let ((dif (the integer (- pntry `,(& it)))))
                                (when (= `,(abs dif) (+ #XA #X1))
                                  (do ((it 0 (+ it (if `(plusp ,dif) 1 -1)))) ((= it (if `(plusp ,dif) 16 -16)) nil)
                                    (ignore-errors
                                      (let ((lazy `(setf (& (get-pointer (- ,dif ,it))) #b0))
                                            (lazy-2 `(setf (~ (& (get-pointer (- ,dif ,it))) #b1))))
                                        (when turn-on (eval lazy) (eval lazy-2))))))
                                (when (/= (abs dif) 8)
                                  (if `(plusp ,dif)
                                    (dotimes (i 8)
                                      (ignore-errors
                                        (let ((lazy `(setf (>> (& (get-pointer (- ,dif ,i))) #x1) #b1)))
                                          (when turn-on (eval lazy)))))
                                    (loop for i from 0 downto -8 by 1
                                          do (ignore-errors
                                               (let ((lazy `(setf (<< (& (get-pointer (- ,dif ,i))) #x1) #b1)))
                                                  (when turn-on (eval lazy)))))))))))
    
            (handler-case
                (loop repeat +workers+ do (bt:make-thread #'(lambda () (proc-dfns-simd `,(& data) `,data `,(& truedata) `,truedata))))
              (error (e)
                (declare (ignore e)))))))))
    
    
    (rn-virt-dfns #(#(1) #(2)))

    lisp-worst-code, 08 Июня 2025

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

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main(int argc, char **argv) {
    	size_t buflen;
    	size_t i;
    	char *obuffer;
    	if (argc != 2) {
    		fprintf(stderr, "Usage: %s 'some ASCII string'\n", argv[0]);
    		fprintf(stderr, "\tconvert the string into overlong UTF-8.\n");
    		return 1;
    	}
    	buflen = strlen(argv[1])*2+1;
    	obuffer = malloc(buflen);
    	if (obuffer == NULL) {
    		fprintf(stderr, "Error: cannot allocate %zd bytes of memory.", buflen);
    		return 2;
    	}
    	for (i=0; argv[1][i]; i++) {
    		obuffer[2*i]   = 0xC0|(argv[1][i]>>6);
    		obuffer[2*i+1] = 0x80|(argv[1][i]&0x3F);
    	}
    	obuffer[2*i] = '\0';
    	puts(obuffer);
    	free(obuffer);
    	return 0;
    }

    В UTF-8 запрещено использовать кодовые последовательности не минимальной длины, например юникоды с номером до 127 требуется кодировать именно в один байт, а не в 2,3 и так далее. А если так всё-таки сделать, полученная фигня называется оверлонгом (overlong). Вот этот код их как раз и создаёт. Но только из ASCII символов и расширяя их только до двух байт. Написание более универсального варианта, если вдруг кому-то надо оставляем как упражнение для читателя.

    Что интересно, некоторые текстовые редакторы, если в них открыть файл, сделанный этой программой, увидят обычный текст.

    Threadwalker, 03 Февраля 2025

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

    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
    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
    longlong ** FUN_14000e5a0(longlong **param_1,LPCWSTR param_2,int param_3,uint param_4)
    
    {
      uint uVar1;
      longlong **pplVar2;
      longlong **hFile;
      longlong *plVar3;
      longlong **pplVar4;
      DWORD DVar5;
      LONG local_38;
      undefined4 uStack_34;
      
      pplVar4 = (longlong **)0x0;
      uVar1 = param_4 & 0x1f;
      if ((param_4 & 0x1f) == 0) {
        uVar1 = 2;
      }
      pplVar2 = FUN_1400119f8(DAT_1400213a0,(longlong)param_1);
      if (pplVar2 == (longlong **)0x0) {
        return (longlong **)0x0;
      }
      if (param_3 == 1) {
        DVar5 = (DWORD)((param_4 >> 0x11 & 1) != 0);
        if ((param_4 >> 0x12 & 1) != 0) {
          DVar5 = 7;
        }
        hFile = (longlong **)
                CreateFileW(param_2,0x80000000,DVar5,(LPSECURITY_ATTRIBUTES)0x0,3,0x80,(HANDLE)0x0);
    LAB_14000e70c:
        if (hFile == (longlong **)0xffffffffffffffff) goto LAB_14000e7ad;
      }
      else {
        if (param_3 == 2) {
          DVar5 = (DWORD)((param_4 >> 0x11 & 1) != 0);
          if ((param_4 >> 0x12 & 1) != 0) {
            DVar5 = 7;
          }
          hFile = (longlong **)
                  CreateFileW(param_2,0xc0000000,DVar5,(LPSECURITY_ATTRIBUTES)0x0,4,0x80,(HANDLE)0x0);
          goto LAB_14000e70c;
        }
        if (param_3 != 3) {
          hFile = (longlong **)CONCAT44(uStack_34,local_38);
          goto LAB_14000e70c;
        }
        DVar5 = (DWORD)((param_4 >> 0x11 & 1) != 0);
        if ((param_4 >> 0x12 & 1) != 0) {
          DVar5 = 7;
        }
        hFile = (longlong **)
                CreateFileW(param_2,0xc0000000,DVar5,(LPSECURITY_ATTRIBUTES)0x0,2,0x80,(HANDLE)0x0);
        if (hFile == (longlong **)0xffffffffffffffff) {
          hFile = (longlong **)
                  CreateFileW(param_2,0x40000000,DVar5,(LPSECURITY_ATTRIBUTES)0x0,5,0,(HANDLE)0x0);
          goto LAB_14000e70c;
        }
      }
      if (hFile != (longlong **)0x0) {
        if ((DAT_14001f140 == 0) || ((param_4 >> 0x13 & 1) != 0)) {
          pplVar2[1] = (longlong *)0x0;
        }
        else {
          plVar3 = (longlong *)HeapAlloc(DAT_1400204cc,0,(longlong)DAT_14001f140);
          pplVar2[1] = plVar3;
        }
        *pplVar2 = (longlong *)hFile;
        *(int *)(pplVar2 + 2) = DAT_14001f140;
        *(undefined4 *)((longlong)pplVar2 + 0x14) = 0;
        *(uint *)(pplVar2 + 4) = uVar1;
        *(uint *)((longlong)pplVar2 + 0x24) = (uint)(param_3 == 1);
        *(undefined4 *)((longlong)pplVar2 + 0x1c) = 1;
        if ((param_3 == 2) && ((param_4 >> 0x14 & 1) != 0)) {
          local_38 = 0;
          SetFilePointer(hFile,0,&local_38,2);
        }
        pplVar4 = hFile;
        if (param_1 == (longlong **)0xffffffffffffffff) {
          pplVar4 = pplVar2;
        }
        if (pplVar4 != (longlong **)0x0) {
          return pplVar4;
        }
      }
    LAB_14000e7ad:
      if (param_1 == (longlong **)0xffffffffffffffff) {
        param_1 = pplVar2;
      }
      FUN_14001192c(DAT_1400213a0,(longlong)param_1);
      return pplVar4;
    }

    BelCodeMonkey, 06 Октября 2024

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

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

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

    ilyatim23, 30 Сентября 2024

    Комментарии (5)
  9. JavaScript / Говнокод #28979

    −1

    1. 1
    form = _this.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement;

    https://github.com/interesnij/new_burials/commit/0d04adfe064c3a36d377548e44114fec4e8a585b ?diff=unified&w=0#diff-e549478298ec34990a6a4e60de6993615daa3b76 120c6333aa756e19a942c45cR318

    Ему не хватило пяти, решил шестой раз добавить.

    truestriker, 27 Августа 2024

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    n = int(input())
    m = int(input())
    if m > 1:
        chast1 = n * 2
        vsegoch = chast1 * (m + 1) 
        print(vsegoch)
    else:
        print(n * 2)

    bobrrrrrr00mailru, 27 Октября 2023

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

    +1

    1. 1
    https://pastebin.com/MarcPuJc

    говно для подтирания важных комментов в вк. Весь не поместился, прилегаю ссылку.

    AnimeGovno, 26 Марта 2023

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