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

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

    +127

    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
    /**
       * Determines equality based upon the contents of this Box instead of the box itself.
       * As a result, it is not symmetric. Which means that for
       *
       * <pre name="code" class="scala">
       *     val foo = "foo"
       *     val boxedFoo = Full(foo)
       *     foo == boxedFoo //is false
       *     boxedFoo == foo //is true
       * </pre>
       *
       * For Full and Empty, this has the expected behavior. Equality in terms of Failure
       * checks for equivalence of failure causes.
       */
      override def equals(other: Any): Boolean = (this, other) match {
        case (Full(x), Full(y)) => x == y
        case (Full(x), y) => x == y
        case (x, y: AnyRef) => x eq y
        case _ => false
      }

    https://github.com/lift/framework/blob/master/core/common/src/main/scala/net/liftweb/common/Box.scala

    rat4, 20 Сентября 2012

    Комментарии (97)
  3. Ruby / Говнокод #8390

    −109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    command = gets.chomp
    while command != 'ПОКА'
    	if command != command.upcase
    		puts 'АСЬ?! ГОВОРИ ГРОМЧЕ, ВНУЧЕК!'
    	else
    		puts 'НЕТ, НИ РАЗУ С 1938 ГОДА!'
    	end
    end
    puts 'ПОКА, ВНУЧЕК!'

    Нашёл ошибку, лишь когда вписывал код сюда.
    Бесконечный цикл, как видите.

    nbvec222, 01 Ноября 2011

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

    +133

    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
    <form action="/admin.php?action=edit_category&name=razdel1" method="post">
    <table>
    <tr>
        <td>
            <input type="image" src="views/admin/i/save.png" value="Сохранить" />
        </td>
    </tr>
    <tr>
        <td>
            Название раздела: 
            <input type="text" name="name" value="Раздел1" size="41" maxlength="128" />
        </td>
    </tr>
    </table>
    </form>

    "Имею большой опыт в области веб-программирования" говорите? Вот кусок творения нашего прославившегося клована Мишустика. Пруф для лулзов будет ниже в комменте.

    Викинул лишнее и отформатировал для простоты понимания.
    Как можно догадаться, редактирование раздела производится по идентификатору в параметре name, передаваемому методом GET. Название же раздела передается в одноименном параметре, только методом POST. Оригинально, да?

    А как же задается идентификатор раздела? Обычным транслитом из названия!
    Изменяем название с "Раздел1" на "Раздел2" - Сохранить - "Название раздела изменено!" Ок. Остаемся в этой же форме и пробуем изменить название обратно, сохраняем... А хрен вам - "Раздела не существует!"
    Ну правильно, че! Идентификатор раздела в базе изменился на "razdel2", а форма по прежнему работает с "razdel1".

    Вот такая вот реализация ЧПУ. Из этих идентификаторов потом строится адрес страницы а-ля http://test.soft-oskol.ru/razdel1/index.html

    Uchkuma, 23 Декабря 2010

    Комментарии (97)
  5. Java / Говнокод #3535

    +89

    1. 1
    pp = pp++;

    Что хотел сказать автор?...

    tinynick, 22 Июня 2010

    Комментарии (97)
  6. Pascal / Говнокод #27689

    +1

    1. 1
    2. 2
    3. 3
    Ой, девачьки, я 5 лет не заходило. Почему нет говнокодов на Дульфи? Я десять страниц промотал! Неужели все дульфисты впали 
    в старческий маразм и не могут больше срать на этом недоязыке? Почему? Он же изначально создавался для даунов.
    Что стало с Тарасом? Что стало с поняшей-ассемблеристом?

    Только одфаги меня вспомнят.

    DelphiGovno, 28 Сентября 2021

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

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <inttypes.h>
    
    typedef struct list list;
    
    struct list
    {
      list* next;
      uint32_t data;
    };
    
    #define ADD_LIST(ptr, val) \
    do { \
      (ptr)->next = (list *)alloca(sizeof(list)); \
      (ptr)->next->data = val; \
      (ptr)->next->next = NULL;\
    } while (0)
    
    // https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html
    #define INIT_LIST(val) \
    ({ \
      list *INIT_LIST = (list *)alloca(sizeof(list)); \
      INIT_LIST->data = val; \
      INIT_LIST->next = NULL; \
      INIT_LIST; \
    })
    
    
    int main(void)
    {
      list *a = INIT_LIST(5);
      ADD_LIST(a,10);
      ADD_LIST(a->next,15);
      ADD_LIST(a->next->next,20);
      ADD_LIST(a->next->next->next,25);
      ADD_LIST(a->next->next->next->next,30);
    
      for(list *ptr = a; ptr != NULL; ptr = ptr->next)
      {
        printf("%d ", ptr->data);
      }
    
      return EXIT_SUCCESS;
    }

    А можно ли в крестоговне так сделать без Сишного Препроцессора?

    j123123, 19 Июля 2021

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

    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
    using System;
     
    namespace MainNamespace
    {
        class SelectionSort
        {
            private static int FindSmallest(int[] arr)
            {
                int smallest = arr[0];
                int smallestIndex = 0;
                for (int i = 1; i < arr.Length; i++)
                {
                    if (arr[i] < smallest)
                    {
                        smallest = arr[i];
                        smallestIndex = i;
                    }
                }
                return smallestIndex;
            }
            public static int[] ArraySort(int[] arr)
            {
                int[] newArr = new int[arr.Length];
                for (int i = 0; i < arr.Length; i++)
                {
                    int smallestIndex = FindSmallest(arr);
                    int arrayBeginningIndex = i;
                    newArr[arrayBeginningIndex] = arr[smallestIndex];
                    arr[smallestIndex] = Int32.MaxValue;
                }
                return newArr;
            }
        }
        class MainClass
        {
            const int sizeOfArr = 7;
            static int FindMaxProduct(int[] arr)
            {
                int maxProduct = 1;
                int firstIndex = 0;
                int secondIndex = 1;
                int lastIndex = sizeOfArr - 1;
                int beforeLastIndex = sizeOfArr - 1 - 1;
                int beforeBeforeLastIndex = sizeOfArr - 1 - 2;
     
                if (arr[firstIndex] * arr[secondIndex] * arr[lastIndex] > arr[beforeLastIndex] * arr[beforeBeforeLastIndex] * arr[lastIndex])
                {
                    maxProduct = arr[firstIndex] * arr[secondIndex] * arr[lastIndex];
                }
                else
                    for (int i = 0; i < 3; i++)
                        maxProduct *= arr[lastIndex - i];
     
                return maxProduct;
            }
            static void Main()
            {
                int[] arr = new int[sizeOfArr] {-31, 54, -39, -34, 0, 56, 92};
                arr = SelectionSort.ArraySort(arr);
                Console.WriteLine( FindMaxProduct(arr) );
                Console.ReadKey();
            }
        }
    }

    Есть массив с целыми числами. Найти в этом массиве самое большое произведение 3 чисел и вывести в консоль.

    BelCodeMonkey, 18 Июля 2021

    Комментарии (96)
  9. Python / Говнокод #27446

    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
    # Калькулятор полных линейных неравенств
    
    # Модули
    from math import sqrt
    
    # Пояснение
    print('Это калькулятор полных линейных неравенств')
    print('Эти неравенства выглядят так: a*x^2 +- b*x +- c = 0')
    print('a, b и c - коэффиценты.\n')
    
    # Ввод коэффицентов
    a = int(input('Введите коэффицент a:'))
    b = int(input('Введите коэффицент b:'))
    c = int(input('Введите коэффицент c:'))
    r = 0
    D = 0
    # Решение: вид неравенства
    if b >= 0: 
        g = '+ '
    else:
        g = ''
    if c >= 0: 
        f = '+ '
    else:
        f = ''
    print('Так выглядит уравнение: ' + str(a) + 'x^2 ' + str(g) + str(b) + '*x ' + str(f) + str(c) + ' = 0')
    
    # Решение: коэффиценты и дискриминант
    print('Дискриминант(D) равен b^2 - 4 * a * c')
    print('Значит D = ' + str(b) + '^2 - 4 * ' + str(a) + ' * ' + str(c))
    b = int(b)
    a = int(a)
    c = int(c)
    D = b**2 - 4 * a * c
    print('D = ' + str(D))
    drt = sqrt(D)
    # Решение: ответ
    if D < 0:
        print('Ответ: Уравнение не имеет корней, так как дискриминант меньше нуля')
    elif D == 0:
        print('Уравнение имеет один корень: ')
        x = -b/(2*a)
        print('Корень уравнения: x = ' + str(x))
    elif D > 0: 
        print('Уравнение имеет два корня: ')
        x1 = (-b - drt)/2*a
        x2 = (-b + drt)/2*a
        print("Корни уравнения: x1 = " + str(x1) + ', x2 = ' + str(x2))
    else:
        r = 0

    Вот это чудо Я(гуманитарий) состряпал за 15 минут на второй день изучения питона. Ну как? Так ли худо?

    ni2kta, 31 Мая 2021

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

    −5

    1. 1
    С праздником, девочки! ʕ ᵔᴥᵔ ʔ

    moderat0r, 08 Марта 2021

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

    −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
    (function(){
      const panel = document.querySelector('.pane-content > ul');
      function appendLink(text, href) {
        const li = document.createElement('li');
        const a = document.createElement('a');
        li.appendChild(a);
        a.setAttribute('href', href);
        a.innerText = text;
        panel.appendChild(li);
      }
      appendLink("Перелогиниться", 'https://govnokod.ru/user/exit/?url=https://govnokod.ru/user/login');
      appendLink("Регистрация", 'https://govnokod.ru/user/exit/?url=https://govnokod.ru/user/register');
    })();

    Кокококое у гк удобне апи )))

    KpunoBblu_nemyx, 28 Января 2020

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