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

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

    +116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
     * just to see logs...
     * @param context
     */
    public void drawPalletes(PYGraphics context){
        //log.info(elevatorSimelement.getName()+" -draw Palettes, palettes number is: "+elevatorSimelement.getPalletes().size());
        super.drawPalletes(context);
    }

    someone, 13 Августа 2013

    Комментарии (44)
  3. 1C / Говнокод #13055

    −177

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

    Удалить документ в транзакции "перед записью" при пометке удаления - это сильно, а "Попытка" - так, на всякий случай, а чтобы продолжения банкета не было - Отказ. Звезда Хан Ю.В.

    ilya2184, 27 Мая 2013

    Комментарии (44)
  4. JavaScript / Говнокод #12535

    +183

    1. 1
    while (c.charAt(0)==' ') c = c.substring(1,c.length);

    Особый ltrim

    3.14159265, 04 Февраля 2013

    Комментарии (44)
  5. C++ / Говнокод #12244

    +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
    #include "stdafx.h"
    #include <iostream>
    #include <stdio.h>
    using namespace std;
    class radian
    {protected:
        double x;
        public:
        radian();//конструктор без параметров, возвращает дежурное значение
        radian(double x1);//конструктор с параметрами
        radian sum_rad(radian a );
        radian unsum_rad(radian a);//разность 2-х радиан
        double get_r(){return x;}//нужный геттр
        void set_r(double x1);//бесполезный сеттрер
        double radian::quarter(radian a);//определение четверти угла заданного в радианах
        double operator *();//перегрузка операции. возводит во вторую степень
        double radian::rad_to_grad();//перевод из радиан в градусы
        ~radian();//деструкторуу
    };
    class namerad:public radian
    {
        private:
        string name;
        public:
        namerad::namerad(double corner,string name)
        {set_name(name);}
        void namerad::set_name(string newname)
        {name=newname;}
        void namerad::get_name(string currentname)
        {currentname=name;}
    };
    radian::radian()//конструктор по умолчанию
    {
        x=0;
    }
    radian::radian(double x1)//конструктор с 1 параметром
    {
        x=x1;
    }
    radian radian::sum_rad(radian a)//сумма 2-х радиан
    {radian n(x+a.x);
        return n;
    }
    void radian::set_r( double x1)//сеттер
    { x=x1;}
    radian::~radian() {x=0;}//деструктор
    radian radian::unsum_rad(radian a)//разность 2-х радиан
    {radian n(x-a.x);
        return n;
    }
    double radian::rad_to_grad() //перевод из радиан в градусы
    {
        return(x*(180/3.14));
    }
    double radian ::operator *()//перегрузка операции
    {
        return x*x;
    }
    double radian::quarter(radian a)//определение четверти угла заданного в радианах
    {while(a.x>6.28){a.x-=6.28;}
            if ((a.x >=0)&&(a.x<=1.57)) return 1;
            if ((a.x>=1.57)&&(a.x<=3.14)) return 2;
            if ((a.x>=3.14)&&(a.x<=4.71)) return 3;
            return 4;
        }
        int main()
        {
            radian a,b,c(5.0),d(6.20);
            cout<<"summa=";b=c.sum_rad(d);cout<<b.get_r() << endl;//сумма
            cout<<"raznost=";b=d.unsum_rad(c);cout<<b.get_r() << endl; //разность
            cout<<"chetvert: ";cout<< d.quarter(d) << endl;//четверть
            cout<<"iz radian v gradusi: ";cout<<d.rad_to_grad() << endl;//перевод из радиан в градусы
            cout<<"peregruz sqr "<<*c;//возведение в квадрат. перегруженная операция
            system ("PAUSE");
            return 0;
        }

    vovkalamer, 03 Декабря 2012

    Комментарии (44)
  6. C++ / Говнокод #12172

    +17

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    #include <iostream>
     
    int main() {
        std::cout << (2,0 * 2,5) << std::endl;   // 5
        std::cout << (0,625 * 6,4) << std::endl; // 4
        std::cout << (2,5 * 2,0) << std::endl;   // 5?
        return 0;
    }

    Почему в с++ умножение некоммутативно?

    http://ideone.com/Erp3uv

    bormand, 21 Ноября 2012

    Комментарии (44)
  7. C++ / Говнокод #11768

    +28

    1. 1
    2. 2
    std::size_t _;
    std:size_t __;

    http://ideone.com/Ie1AY

    HaskellGovno, 13 Сентября 2012

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

    +3

    1. 1
    x*x = new x;

    Уравнение?

    USB, 21 Июля 2012

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

    +1013

    1. 1
    if (!done && (done = true)) setlocale(LC_CTYPE, "");

    из свежих ворнингов компилера.

    Dummy00001, 14 Февраля 2012

    Комментарии (44)
  10. 1C / Говнокод #9376

    −135

    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
    Процедура ЗаписатьТрижды(Док)
    	Попытка
    		Док.Записать();
    	
    	Исключение
    		Для ХХХ=1 По 1000 Цикл
    			УУУ = ХХХ;
    		КонецЦикла;
    		Попытка
    			Док.Записать();
    		
    		Исключение
    			Для ХХХ=1 По 1000 Цикл
    				УУУ = ХХХ;
    			КонецЦикла;
    			Попытка
    				Док.Записать();
    			
    			Исключение
    				Сообщить("И с третьей попытки не удалось записать документ "+Док);
    				Сообщить(ОписаниеОшибки());
    			КонецПопытки;
    		КонецПопытки;
    	КонецПопытки;

    Разбирал тут обработку, наткнулся на этот шедевр...

    jerokee, 10 Февраля 2012

    Комментарии (44)
  11. 1C / Говнокод #9277

    −134

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

    Человек, написавший такой запрос явно был с перепоя. С учетом его двухлетнего опыта программирования в 1С - никогда бы на него не подумал... но факт.

    Maikl_kar, 31 Января 2012

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