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

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    struct Counter{
    	static int k;
    	Counter(){ k++; }
    	~Counter() { k--; }
    };
    int Counter::k = 0;
    #define LOL(x) {string s = #x; Counter c##x; cout<<s.substr(0,1+s.find('['))<<Counter::k<<"]="<<x<<'\n'; }

    Abbath, 01 Ноября 2014

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

    −125

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

    Переменная "Загрузка" может принимать только 2 значения.

    Mortum, 24 Сентября 2014

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

    +121

    1. 1
    int main(void)

    GreenKiller, 21 Сентября 2014

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

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    //...
    <script>splashRadar('leftcol', 1);</script>
    <script>splashRadar('baseStyles');</script>
    //...

    На мейл.сру.

    gost, 14 Сентября 2014

    Комментарии (18)
  6. PHP / Говнокод #16585

    +172

    1. 1
    if ($year == '1996' && $year == '1995' && $year == '1994' && $year == '1993' && $year == '1992' && $year == '1991' && $year == '1990' && $year == '1989' && $year == '1988' && $year == '1987' && $year == '1986' && $year == '1985' && $year == '1984' && $year == '1983' && $year == '1982' && $year == '1981' && $year == '1980' && $year == '1979' && $year == '1978' && $year == '1977' && $year == '1976' && $year == '1975' && $year == '1974' && $year == '1973' && $year == '1972' && $year == '1971' && $year == '1970' && $year == '1969' && $year == '1968' && $year == '1967' && $year == '1966' && $year == '1965' && $year == '1964' && $year == '1963' && $year == '1962' && $year == '1960' && $year == '1959' && $year == '1958' && $year == '1957' && $year == '1956' && $year == '1955' && $year == '1954' && $year == '1953' && $year == '1952' && $year == '1951' && $year == '1950')

    Я просто рыдаю. Мало того, что каждый год ручками вбит, так ещё и пользак должен обязательно быть рождённым во всех этих годах))

    avtorfox, 24 Августа 2014

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

    +42

    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
    int complexFunction(int flag)
    {
        QMutexLocker locker(&mutex);
    
        int retVal = 0;
    
        switch (flag) {
        case 0:
        case 1:
            return moreComplexFunction(flag);
        case 2:
            {
                int status = anotherFunction();
                if (status < 0)
                    return -2;
                retVal = status + flag;
            }
            break;
        default:
            if (flag > 10)
                return -1;
            break;
        }
    
        return retVal;
    }

    Пора добавлять отдельную ветку для фрейворка Qt. Это просто клад, так извратить все принципы програмирования :-). Этот код из справки к этому чуду. QMutexLocker - целый класс для того чтобы не нужно было разблокировать мьютекс при выходе из функции! Так они скоро и до сборщика мусора с неявной типизацией дойдут!
    P.S. У кого есть Qq попробуйте в "коде" сборки qmake вызвать include внутри функции.

    rst256, 15 Августа 2014

    Комментарии (18)
  8. JavaScript / Говнокод #16483

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    if( window == top ){
    	document.cookie = "st=0; path=/; expires=100";
    	window.location = window.location;
    }

    sa-kirich, 05 Августа 2014

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

    −163

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

    //Поиск документа по номеру
    //Можно заменить одной строкой, но автор был истиный извращенец
    СтрокаДок7 = Документы.РеализацияТоваровУслуг.НайтиПо Номеру(СтрокаДоковЗагрузки.НомерДок, СтрокаДоковЗагрузки.ДатаДок);

    quickes, 21 Июля 2014

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

    −94

    1. 1
    list(zip_longest(*[iter(('0'+str(bin(int(time.time())))[2:]).replace('0', '_').replace('1', '*'))]*4))

    увидел у в скрипте на подобии archey3

    rob_vigna, 20 Июля 2014

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

    +162

    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
    function dotsOrder($dots)
    {
          if($dots>=4){
                return 18;
           } else if($dots>=3 && $dots<4){
                return 17;
           } else if($dots>=2 && $dots<3){
                return 16;
           } else if($dots>=1 && $dots<2){
                return 14;
           } else if($dots>=0 && $dots<1){
                return 12;
           } else {
                return 10;
            }
    }

    EugeneC, 16 Июля 2014

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