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

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

    +240.1

    1. 1
    2. 2
    fld qword ptr [d]
    call @ROUND

    Это творчество дельфийского компилятора на тему i := round(d);
    Он делает вызов функции ради одной пустяковой команды, что очень влияет на скорость.

    TarasB, 24 Ноября 2009

    Комментарии (283)
  3. C++ / Говнокод #27454

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <iostream>
    using namespace std;
    
    int main() {
    	const char *kakoiBagor = R""""(
    "Какой
    багор )))"
    )"""";
    	cout << kakoiBagor << endl;
    	return 0;
    }

    А вы знали, что в C++ есть ХЕРЕДОК?

    https://ideone.com/5KdJJQ

    3_dar, 04 Июня 2021

    Комментарии (281)
  4. Java / Говнокод #26712

    +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
    class Values<T> {
       T data;
       Values() {}
       Values(T data) {this.setData(data);}
       public void setData(T data) {this.data = data;}
       public T getData() {return this.data;}
    }
    
    public class Main {
       public static void main(String[] args) {
          Values[][] item = new Values[3][2];
          item[0][0] = new Values("grapes");
          item[0][1] = new Values(1);
    
          item[1][0] = new Values("apples");
          item[1][1] = new Values(1);
    
          item[2][0] = new Values("peaches");
          item[2][1] = new Values(1);
       }
    }

    >>> кто меня интервьюировал на позицию Staff Engineer? Junior?
    >>>

    1. Если покупатель купит больше одного яблока,
    то он получит скидку 20% на все яблоки в корзине;
    2. Если покупатель купит пакет винограда, то второй пакет
    он получит бесплатно.

    Итог: посчитать стоимость корзины покупателя при выходе из магазина,
    при то, что данные даны в следующем виде:
    [["grapes", 1],["apples", 0],["peaches", 1]] => 12
    [["grapes", 1],["apples", 1],["peaches", 1]] => 15 ...

    https://habr.com/post/504638

    Бля-я-я-я, это просто феерия! 1024--, зацени статью, ты оценишь!

    gost, 31 Мая 2020

    Комментарии (281)
  5. VisualBasic / Говнокод #28567

    −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
    Public Function DescendingSort(ByRef Data As Variant) As Variant
        Dim i As Long
        For i = LBound(Data) To UBound(Data) - 1
            Dim j As Long
            For j = i + 1 To UBound(Data)
                If Data(i) < Data(j) Then
                    Dim Temp As Variant
                    Temp = Data(j)
                    Data(j) = Data(i)
                    Data(i) = Temp
                End If
            Next
        Next
    
        DescendingSort = Data
    End Function

    Вот все спрашивают, зачем на собеседованиях требуют сортировки писать — так вот для этого! Вдруг вам придётся писать на «VBA»?
    > Как в VBA правильно создавать одномерный массив. ArrayList
    https://habr.com/ru/post/712000/

    ISO, 23 Января 2023

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

    +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
    package com.company;
    
    public class Main {
    
        public static void main(String[] args) {
            int answer = 0;
    
            for (int i = 100; i < 1000; i++){
                for (int j = 100; j < 1000; j++){
                    int result = i * j;
    
                    String str = String.valueOf(result); //convert
                    String revers = new StringBuffer(str).reverse().toString(); //revers
                    int newb = Integer.parseInt(revers); //convert
    
                    if (newb == result){
                        int answer001 = result;
    
    
                        if (answer001 > answer) answer = answer001;
                    }
    
                }
            }
            System.out.println(answer);
    
        }
    
    }

    реализация четвёртой задачки из проекта эйлера

    warzon131, 01 Августа 2020

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

    +157

    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
    foreach($arDataToCsv[$i] as $key => $value)
                {
                    if ($key == 'birth_date' && $value != 'Логин' && $value != '0000-00-00')
                    {
                        $date  = new DateTime($value);
                        $value = $date->format('d.m.Y');
                    }
                    if ($key == 'birth_date' && $value != 'Логин' && $value == '0000-00-00')
                        $value          = '01.01.0001';
                    if ($key == 'firstname' && $value == '')
                        $value          = 'Undefined';
                    if ($key == 'lastname' && $value == '')
                        $value          = 'Undefined';
                    $arDataToCsv[$i][$key] = iconv(mb_detect_encoding($value), "CP1251", $value);
                }

    Чувак обрабатывает данные перед записью в csv.

    AlexyAV, 01 Апреля 2015

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    class UnitedFigure : public Figure {
        Figure &f1;
        Figure &f2;
    
    public:
        UnitedFigure (Figure &_f1, Figure &_f2) : f1(_f1), f2(_f2) {}
    
        double distance_to(const Point &p) const override {
            return std::min(f1.distance_to(p), f2.distance_to(p));
        }
    }

    Завезли ссылочные поля класса, это в каком стандарте?
    Даже тестил когда то такое, наверное на C++03 и получал ошибку компилятора.
    Я и не знал, что добавили такую прекрасную возможность выстрелить себе в ногу.

    YpaHeLI_, 16 Сентября 2020

    Комментарии (278)
  9. C# / Говнокод #18098

    +147

    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
    public static void Unsubscribe
    <
    	T1,		T2,		T3,		T4,
    	T5,		T6,		T7,		T8,
    	T9,		T10,		T11,		T12,
    	T13,		T14,		T15,		T16
    >
    (
    	TKey eventKey,
    	Action
    	<
    		T1,		T2,		T3,		T4,
    		T5,		T6,		T7,		T8,
    		T9,		T10,		T11,		T12,
    		T13,		T14,		T15,		T16
    	> handler
    )
    { handlers[eventKey] -= handler; }

    Боль.

    pushistayapodmyshka, 30 Апреля 2015

    Комментарии (278)
  10. JavaScript / Говнокод #16418

    +149

    1. 1
    2. 2
    3. 3
    $(window).scroll(function () {
        var active_start_position = window.pageYOffset + 0 // начало активной области (верхняя граница экрана + 10 пикселей)
        var active_end_position = window.pageYOffset + 50 // конец активной области (нижняя граница экрана - 10 пикселей)

    С Волан-де-сайта. Комменты доставили.

    http:/сайт-который-называть-нельзя/javascripts/1406215785/_parts/shortcuts.js

    gost, 24 Июля 2014

    Комментарии (278)
  11. Си / Говнокод #25733

    +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
    /*
        Build me with
          gcc  -lm -o binary binary.c
     */
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main (int argc, char * argv[]) {
    
    if (argc <2)  {printf("\nUsage: %s 234\n\n", argv[0]); exit(1);};
    
    int  in = atoi(argv[1]);
    int size,a,b,c,d,e;
    
    size=floor(log2(in))+1;
    
    char  mass[size];
    for(b=0;b<=size;b++) { mass[b]=0; }
    
    d=size;
    
    for(a=in;a>0;a--) { if (mass[d]==1){ for(e=size;e>=0;e--){  if (mass[e]==0) {mass[e]=1; break;} else mass[e]=0;continue;}}
    else {mass[d]=1;d=size;}}
    
    for(c=1;c<=size;c++)
    
    {printf("%i",mass[c]);}
    
    printf("\n");
    return 0;
    }

    Преобразование десятичного числа в бинарное.

    killer1804, 25 Июля 2019

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