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

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

    +142

    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
    CREATE TABLE IF NOT EXISTS `go_report` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user` varchar(255) DEFAULT NULL,
      `date_year` int(4) DEFAULT NULL,
      `date_month` int(2) DEFAULT NULL,
      `td3_1` double(16,2) DEFAULT NULL,
      `td4_1` double(16,2) DEFAULT NULL,
      `td5_1` double(16,2) DEFAULT NULL,
      `td6_1` double(16,2) DEFAULT NULL,
      `td7_1` double(16,2) DEFAULT NULL,
      `td8_1` double(16,2) DEFAULT NULL,
      `td9_1` double(16,2) DEFAULT NULL,
      `td10_1` double(16,2) DEFAULT NULL,
      `td11_1` double(16,2) DEFAULT NULL,
      `td12_1` double(16,2) DEFAULT NULL,
      `td13_1` text,
      `td3_1_1` double(16,2) DEFAULT NULL,
      `td4_1_1` double(16,2) DEFAULT NULL,
      `td5_1_1` double(16,2) DEFAULT NULL,
      `td6_1_1` double(16,2) DEFAULT NULL,
      `td7_1_1` double(16,2) DEFAULT NULL,
      `td8_1_1` double(16,2) DEFAULT NULL,
      `td9_1_1` double(16,2) DEFAULT NULL,
      `td10_1_1` double(16,2) DEFAULT NULL,
      `td11_1_1` double(16,2) DEFAULT NULL,
      `td12_1_1` double(16,2) DEFAULT NULL,
      `td13_1_1` text,
      `td3_1_1_1` double(16,2) DEFAULT NULL,
      `td4_1_1_1` double(16,2) DEFAULT NULL,
      `td5_1_1_1` double(16,2) DEFAULT NULL,
      `td6_1_1_1` double(16,2) DEFAULT NULL,
      `td7_1_1_1` double(16,2) DEFAULT NULL,
      `td8_1_1_1` double(16,2) DEFAULT NULL,
      `td9_1_1_1` double(16,2) DEFAULT NULL,
      `td10_1_1_1` double(16,2) DEFAULT NULL,
      `td11_1_1_1` double(16,2) DEFAULT NULL,
      `td12_1_1_1` double(16,2) DEFAULT NULL,
      `td13_1_1_1` text,
    ......
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=436 ;

    882 поля в сумме. Реляционная БД? Нет, не слышал.

    AndrewUldin, 12 Июня 2015

    Комментарии (3)
  3. Pascal / Говнокод #18330

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    s:=0; k:=1;
    while s<200 do begin
    s:=s+3*k;
    end;
    if s<200 then begin
    k:=k+1;
    end;

    Ничего такого..

    MaxLevs, 11 Июня 2015

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

    +141

    1. 1
    Кто нибудь юзал для построения веб приложений  wakanda ? Если да то как оно?

    Vasiliy, 11 Июня 2015

    Комментарии (3)
  5. ActionScript / Говнокод #18323

    −102

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public class Perechen
    	{		
    		static public var Nasos_IP_E_40_115_0_55_2:* = IP_E_40_115_0_55_2;
    		static public var Nasos_IP_E_40_120_1_5_2:* = IP_E_40_120_1_5_2;
    		static public var Nasos_IP_E_40_130_2_2_2:* = IP_E_40_130_2_2_2;
    		static public var Nasos_IP_E_40_150_3_2:* = IP_E_40_150_3_2;
    		static public var Nasos_IP_E_40_160_4_2:* = IP_E_40_160_4_2;
    		static public var Nasos_IP_E_65_120_3_2:* = IP_E_65_120_3_2;
    		static public var Nasos_IP_E_65_130_4_2:* = IP_E_65_130_4_2;
    		static public var Nasos_IP_E_80_115_2_2_2:* = IP_E_80_115_2_2_2;
    	}

    Nasos_IP_E_40_115_0_55_2 - название поля. IP_E_40_115_0_55_2 - класс.
    "Программист" ничего не знал о том, что есть коллекции.

    teoadal, 11 Июня 2015

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

    +142

    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
    #include <iostream>
    #include <set> 
    #include <queue>
    #include <iterator>
    #include <algorithm>
    
    using namespace std;
    
    class Complex
    { 
    public: 
    	char a;
    	char b;
    
    public:
    
    	Complex(){}
    
    	Complex(char i, char j)
    	{
    		this->a = i;
    		this->b = j;
    	}
    	
    	
    	friend bool operator < (const Complex& complex1, const Complex& complex2)
    	{
    		return ((complex1.a < complex2.a && complex1.b < complex2.b) || (complex1.a < complex2.a && complex1.b == complex2.b) || (complex1.a == complex2.a && complex1.b < complex2.b));
    	}
    
    	friend bool operator >(const Complex& complex1, const Complex& complex2)
    	{
    		return ((complex1.a > complex2.a && complex1.b > complex2.b) || (complex1.a > complex2.a && complex1.b == complex2.b) || (complex1.a == complex2.a && complex1.b > complex2.b));
    	}
    
    	friend ostream& operator << (ostream& out, Complex const& complex)
    	{
    		out << "First: " << complex.a << " Second: " << complex.b;
    		return out;
    	}
    
    	friend bool operator == (const Complex& complex1, const Complex& complex2)
    	{
    		return ( complex1.a == complex2.a && complex1.b == complex2.b);
    	}
    
    	~Complex()
    	{
    	}
    };

    "Не говнокод, потому что работает" © Автор говнокода

    Giraffe, 02 Июня 2015

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

    +143

    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
    if ($fuck) {
      foreach ($objects as $obj) {
        if (!$obj['CAT_VALUE']) {
          die('У объекта ' . $obj['NAME'] . ' ошибка');
        }
        if (!$obj['DESCR_VALUE']) {
          die('У объекта ' . $obj['NAME'] . ' ошибка');
        }
        if (!$obj['DESCR_VALUE']) {
          die('У объекта ' . $obj['NAME'] . ' ошибка');
        }
        else {
          die('Какая-то ошибка');
        }
      }
    }

    Кусок самописного компонента под Битрикс от предыдущего разработчика (тот еще затейник!). Просто выпилил это, т.к. не понял как это отрефакторить, т.к. $fuck нигде никак не объявлена. Да и вообще ценность этого блока кода и так сильно пахнет.

    Franchesko, 01 Июня 2015

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

    −106

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ДокументРасчетовСКонтрагентом = СсылкаНаОбъект.ДокументОснование;
    
    Для ы = 1  По 100 Цикл
    	Если ТипЗнч(ДокументРасчетовСКонтрагентом) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
    		Прервать;
    	Иначе
    		ДокументРасчетовСКонтрагентом = ДокументРасчетовСКонтрагентом.ДокументОснование;
    	КонецЕсли;
    КонецЦикла;

    С вероятностью 100% доберемся до нужного документа

    grandatlant, 27 Мая 2015

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

    +141

    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
    LoggerSngl::instance()->Trace("Заходим под семафор.");
    				QPRFQueueSemaphoreSngl::instance()->Lock(); //Гыгы.
    				{
    					LoggerSngl::instance()->Trace("Зашли под семафор.");
    					CSingleLock lock(QPREFQueueMutexSngl::instance().get(), TRUE);
    					LoggerSngl::instance()->Trace("Получение задачи из очереди...");
    					qprfTask = std::dynamic_pointer_cast<QPRFTask>(_tasks.front());
    					_tasks.pop();
    					LoggerSngl::instance()->TraceFmt("Получили задачу из очереди. Остаток длины %d.", _tasks.size());
    				}
    
    				if (qprfTask->isFinishTask())
    				{
    					CoUninitialize();
    					release_chckxml_lib();
    					qprfTask->semaphore()->Unlock();
    					_endthreadex(0);
    				}

    laMer007, 22 Мая 2015

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

    −107

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

    Моё творение. =)

    Startwar, 20 Мая 2015

    Комментарии (3)
  11. Objective C / Говнокод #18173

    −407

    1. 1
    Autoresizing mask -> Autolayout -> Size classes -> "android layout" (на apple watch)

    Эволюция "автонастройки" размеров в iOS или что бывает если один раз нормально не сесть и подумать.

    Для тех кто не в теме - все вышеперечисленное может быть в одном проекте одновременно.

    Gerchicov-bp, 15 Мая 2015

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