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

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

    −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
    public function sendChat ($msg) {
    	if($this->isLogged()){
    		if($this->checkAd($this->sql($msg)) !== '' || $this->checkAd($this->sql($msg))[0] !== ' '){
    			$q = $this->db->row("SELECT * FROM `chat` WHERE `user` = '".intval($_SESSION['steamid'])."' ORDER BY `id` DESC LIMIT 1");
    			if($q->time+1 <= time()){
    				if($q->text != $this->checkAd($this->sql($msg))) {
    					$r = $this->db->query("INSERT INTO `chat` (`user`,`text`,`time`) VALUES ('".intval($_SESSION['steamid'])."', '".$this->sql($this->checkAd($msg))."', ".time().")");
    					return json_encode(array("success" => true,));
    				} else {
    					return json_encode(array("success" => false, "msg" => "flood"));
    				}
    			} else {
    				return json_encode(array("success" => false, "msg" => "flood"));
    			}
    		} else {
    			json_encode(array("success" => false, "msg" => "null_msg"));
    		}
    	} else {
    		return json_encode(array("success" => false, "msg" => "not_auth"));
    	}
    }

    enly1, 14 Июня 2017

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

    −2

    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
    from threading import Thread 
    from time import sleep
    
    for i in range(4):
        print(type(i))
        def f(i):
            if int(i) == 1:
                print('i=',i)
            
            elif i == 2:
                print('i=',i)
            
            elif i == 3:
                print('i=', i)
            
        t = Thread(target=f, args=(i,))
        t.start()
        sleep(1)
        print(i)

    dmitriiweb, 01 Июня 2017

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

    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
    OleDbCommand command = new OleDbCommand("select * from Прейскурант where ID = 1", bd);
                    OleDbDataReader dataReader1 = command.ExecuteReader();
                    string st;
                    dataReader1.Read();
    
                    int i = 0;
    
                    while (i < dataReader1.FieldCount)
                    {
                        st = dataReader1.GetValue(i).ToString();
                        switch (i)
                        {
                            case 0:
                                textBox1.Text = st;
                                break;
                            case 1:
                                textBox2.Text = st;
                                break;
                            case 2:
                                textBox3.Text = st;
                                break;
                            case 3:
                                textBox4.Text = st;
                                break;
                            case 4:
                                textBox5.Text = st;
                                break;
                            case 5:
                                textBox6.Text = st;
                                break;
                            case 6:
                                textBox7.Text = st;
                                break;
                            case 7:
                                textBox8.Text = st;
                                break;
                            case 8:
                                textBox9.Text = st;
                                break;
                            case 9:
                                textBox10.Text = st;
                                break;
                            case 10:
                                textBox11.Text = st;
                                break;
                            case 11:
                                textBox12.Text = st;
                                break;
                            case 12:
                                textBox13.Text = st;
                                break;
                            case 13:
                                textBox14.Text = st;
                                break;
                            case 14:
                                textBox15.Text = st;
                                break;
                        }
                        i++;
    
    
                    }
                    dataReader1.Close();
                    bd.Close();

    Заполнение текстбоксов WinForms данными из бд. Пацан на 4-м курсе.

    IWillBeHokage, 30 Мая 2017

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

    −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
    for (int i = 0; i < WorkedVerts.count(); i++)
    	{
    		int R0 = (i + Offset0) % WorkedVerts.count();
    		int R1 = (i + Offset1) % WorkedVerts.count();
    		int R2 = (i + Offset2) % WorkedVerts.count();
    
    		XA << WorkedVerts.at(R0).Position;
    		XB << WorkedVerts.at(R1).Position;
    		XC << WorkedVerts.at(R2).Position;
    	}
    	PrepareDataPointers(XA, XB, XC);
    	Inset_Cuda(InputData0, InputData1, InputData2, OutputData, XA.count(), -Amount);
    
    	for (int x = 0; x < XA.count(); x++)
    	{
    		if (fabs(OutputData[x].x) < 0.0001f && fabs(OutputData[x].y) < 0.0001f && fabs(OutputData[x].z < 0.0001f))
    		{
    			int Start = x;
    			int Start1 = (x + (XA.count() - 1)) % XA.count();
    			QVector3D StartVec = QVector3D(OutputData[Start1].x, OutputData[Start1].y, OutputData[Start1].z);
    			QVector3D EndVec = StartVec;
    			int End = 0;
    			while (true)
    			{
    				End = Start++;
    				if (fabs(OutputData[End].x) > 0.0001f && fabs(OutputData[End].y) > 0.0001f && fabs(OutputData[End].z > 0.0001f))
    				{
    					EndVec = QVector3D(OutputData[End].x, OutputData[End].y, OutputData[End].z);
    					break;
    				}
    			}
    			QVector3D OffsetX0 = WorkedVerts.at(Start).Position - StartVec;
    			QVector3D OffsetX1 = WorkedVerts.at(End).Position - EndVec;
    			QVector3D Mid2 = OffsetX0 + (OffsetX1 - OffsetX0) * 0.5f;
    			OutputData[x].x = Mid2.x();
    			OutputData[x].y = Mid2.y();
    			OutputData[x].z = Mid2.z();
    		}
    	}
    	int VertsCounter = SharedVerts.count();
    	for (int i = 0; i < WorkedVerts.count(); i++)
    	{
    		SharedVertex NewVert;
    		int Count3 = WorkedVerts.count();
    		int index = (i + (Count3 - 1)) % Count3;
    		NewVert.Position = QVector3D(OutputData[index].x, OutputData[index].y, OutputData[index].z);
    		NewVert.Index = VertsCounter++;
    		SV2 << NewVert;
    	}

    Код нахождения копии контура вершин с оффсетом.

    IVK, 26 Мая 2017

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

    −19

    1. 1
    ideone.com/4DdZvo

    Спойлер: Оно компилится, но выводит компилятор какую то поебень

    d_fomenok, 15 Мая 2017

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

    +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
    #include "hex.h"
    #include "aes.h"
    #include <stdio.h>
    
    #define KEY (0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c)
    #define DATA (0x32, 0x43, 0xf6, 0xa8, 0x88, 0x5a, 0x30, 0x8d, 0x31, 0x31, 0x98, 0xa2, 0xe0, 0x37, 0x07, 0x34)
    
    unsigned char enc[] = { BPP_AES_ENCRYPT_ARRAY(KEY, DATA) };
    
    int main() {
        for (int i=0; i<sizeof(enc); ++i) {
            printf("%02X ", enc[i]);
        }
        printf("\n");
        return 0;
    }

    HAPKOMAH, 14 Мая 2017

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

    −99

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

    Нужно больше параметров! Иначе ты не адинэсник, а полное ничтожество. (Это не результат легаси, там реально скопипащено ПЯТЬ процедур с одинаковыми параметрами, из которых используется только "Отказ", да и то как видим - через заднепроходное отверстие)

    Old_Chroft, 31 Марта 2017

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

    −51

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

    Суть этой сложной конструкции проста:
    если тип цены есть в справочнике ТипыЦенПоНаправлениям для определенной комбинации - то берем из него,
    иначе берем из реквизита ТипРасхЦены.
    Причем этот говнокод еще и раскопирован в два десятка мест по конфигурации и внешним обработкам и отчетам.

    Palmer, 03 Февраля 2017

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

    +840

    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
    Options -Indexes 
    ErrorDocument 404 /404.php
    
    <IfModule mod_php5.c>
    	php_flag allow_call_time_pass_reference 1
    	php_flag session.use_trans_sid off
    
    php_value display_errors 1 
    php_value display_startup_errors 1 
    php_value error_reporting E_ALL 
    
    php_value auto_prepend_file "/home/bitrix/www/bitrix/pagen.php"
    
    	#php_value mbstring.internal_encoding UTF-8
    </IfModule>
    
    <IfModule mod_rewrite.c>
    	Options +FollowSymLinks
    	RewriteEngine On
    	RewriteRule ^(.*)/page([\d]+)/ /$1/?PAGEN_2=$2 [L,QSA]
    	RewriteCond %{REQUEST_FILENAME} !-f
    	RewriteCond %{REQUEST_FILENAME} !-l
    	RewriteCond %{REQUEST_FILENAME} !-d
    	RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
    	RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
    	RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
    </IfModule>
    
    <IfModule mod_dir.c>
    	DirectoryIndex index.php index.html
    </IfModule>
    
    <IfModule mod_expires.c>
    	ExpiresActive on
    	ExpiresByType image/jpeg "access plus 3 day"
    	ExpiresByType image/gif "access plus 3 day"
    </IfModule>
    
    RewriteCond %{HTTP_HOST} ^www\.sitename\.ru [NC]
    RewriteRule ^(.*)$ http://sitename.ru/$1 [L,R=301]
    
    
    # Чиним изменения в названии корневых разделов
    RedirectMatch 301 /catalog/oborudovanie-dlya-katerov-i-lodok/(.*) /catalog/oborud/$1
    RedirectMatch 301 /catalog/vse-dlya-orujiya/(.*) /catalog/guns/$1
    RedirectMatch 301 /catalog/ohota/(.*) /catalog/hunt/$1
    RedirectMatch 301 /catalog/ribalka/(.*) /catalog/fish/$1
    RedirectMatch 301 /catalog/noji/(.*) /catalog/knifes/$1
    RedirectMatch 301 /catalog/lodochnie-motory/(.*) /catalog/motors/$1
    RedirectMatch 301 /catalog/zapchasti/(.*) /catalog/spares/$1
    RedirectMatch 301 /catalog/navigatsiya/(.*) /catalog/navi/$1
    RedirectMatch 301 /catalog/masla-i-gsm/(.*) /catalog/oil/$1
    RedirectMatch 301 /catalog/accumulyatori/(.*) /catalog/accum/$1
    RedirectMatch 301 /catalog/turizm-i-kemping/(.*) /catalog/camp/$1
    RedirectMatch 301 /catalog/pnevmaticheskoe-orujie/(.*) /catalog/pneumo/$1
    RedirectMatch 301 /catalog/suveniri-i-podarki/(.*) /catalog/gifts/$1

    Помогите пожалуйста сделать так, чтобы все ссылки вида /catalog/oborud редиректили 301 на / catalog/oborud/

    konstantin, 25 Августа 2016

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

    −256

    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
    var handler = new HttpClientHandler
    {
        Proxy = usingProxy ? new WebProxy(proxyURI) : null,
        UseProxy = usingProxy,
        UseCookies = true,
        CookieContainer = new CookieContainer()
    };
    
    if (session != null)
    {
        handler.CookieContainer.Add(new Uri(URL), new Cookie("PHPSESSID", session));
    }
    
    using (var client = new HttpClient(handler))
    {
        var content = new FormUrlEncodedContent(postParams);
        var responseTask = client.PostAsync(url, content);
        responseTask.Wait();
    
        var responseStringTask = responseTask.Result.Content.ReadAsStringAsync();
        responseStringTask.Wait();
    
        var cookies = handler.CookieContainer.GetCookies(new Uri(URL));
        session = cookies["PHPSESSID"].Value;
    
        return responseStringTask.Result;
    }

    Синхронный асинхронный код.

    Antibagor_100, 19 Августа 2016

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