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

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

    +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
    Complex numbers:
    >> Complex()({r: 2, i: 0} / {r: 1, i: 1} + {r: -3, i: 2}))
    <- {r: -2, i: 1}
    
    Automatic differentiation:
    Let f(x) = x^3 - 5x:
    >> var f = x => Dual()(x * x * x - {x:5, dx:0} * x);
    
    Now map it over some values:
    >> [-2,-1,0,1,2].map(a=>({x:a,dx:1})).map(f).map(a=>a.dx)
    <- [ 7, -2, -5, -2, 7 ]
    i.e. f'(x) = 3x^2 - 5.
    
    Polynoomials:
    >> Poly()([1,-2,3,-4]*[5,-6]).map((c,p)=>''+c+'x^'+p).join(' + ')
    <- "5x^0 + -16x^1 + 27x^2 + -38x^3 + 24x^4"

    В ЙажаСцрипт завезли перегрузку операторов.
    https://gist.github.com/pyrocto/5a068100abd5ff6dfbe69a73bbc510d7

    3.14159265, 02 Сентября 2021

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

    −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
    void* execute_thread(void* arg)
    {
        int i;
        int interval;
    
        //Период контроля времени задаётся с точностью в 10мс.
        //Контролировать в данной реализации таймера точность в 1мс не имеет смысла,
        //так как это почти не возможно и, как правило, не требуется,
        //а крутить проверку таймеров с такой частотой только "пожерать" ресурсы процессора.
    
        struct timespec sleep_period = {0,9999999}; //Период, почти 10 мс
    
        do {
            for(i=0;i<n_timers;i++){
                if(timers[i]->enable == false){
                    //Если таймер не активный, то присваиваем ему начальное значение
                    clock_gettime(CLOCK_REALTIME, &timers[i]->time_before);
                }
            }
            //Засыпаем на 10мс
            nanosleep(&sleep_period , NULL);
    
            for(i=0;i<n_timers;i++){
                if(timers[i]->enable == true){
                    //Получаем текущее значение времени.
                    clock_gettime(CLOCK_REALTIME, &timers[i]->time_after);
                    //Вычисляем прошедшее время ожидания
                    interval = ((timers[i]->time_after.tv_sec-timers[i]->time_before.tv_sec)*1000000000 
                                +timers[i]->time_after.tv_nsec-timers[i]->time_before.tv_nsec)/1000000; 
                    //Проверяем условие, если ОК, то обновляем время и формируем событие
                    if(interval >= timers[i]->interval){
                        clock_gettime(CLOCK_REALTIME, &timers[i]->time_before);
                        timers[i]->listener->on_time(timers[i]);
                    }
                }
            }
         } while (terminate == false);
    }

    https://habr.com/ru/post/569392/
    > Объектно-ориентированное программирование на Си без плюсов. Часть 2. Таймер

    PolinaAksenova, 24 Июля 2021

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

    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
    <?php
     /* Здесь проверяется существование переменных */
      if (isset($_POST['square'])) {$square = $_POST['square'];}
     if (isset($_POST['price'])) {$price = $_POST['price'];}
      if (isset($_POST['tel'])) {$tel = $_POST['tel'];}
    
    /* Сюда впишите свою эл. почту */
     $address = "[email protected]";
    
    /* А здесь прописывается текст сообщения, \n - перенос строки */
     $mes = "Тема: Заказ обратного звонка!\nЧто-то: $square\nЦена: $price\nТелефон: $tel";
    
    /* А эта функция как раз занимается отправкой письма на указанный вами email */
    $sub='Zapis na OKNA'; //сабж
    $email='Заказ <site.ru>'; // от кого
    $send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
    
    ini_set('short_open_tag', 'On');
    header('Refresh: 3; URL=index.html');
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="refresh" content="3; url=index.html">
    <title>С вами свяжутся</title>
    <meta name="generator">
    <style type="text/css">
    body
    {
       
       background: #22BFF7 url(images/zakaz.jpg) top -70% center no-repeat;
       
    }
    
    <script type="text/javascript">
    setTimeout('location.replace("/index.html")', 3000);
    /*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
    </script> 
    </head>
    </body>
    </html>

    No comments.... just send mail...

    MouseZver, 02 Февраля 2021

    Комментарии (6)
  5. Kotlin / Говнокод #27133

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private fun findFirstChecked(calendarModel: CalendarModel) =
            LocalDate.parse(
                "${calendarModel.year}-${
                    calendarModel.months.indexOfFirst {
                        it.state is
                                CalendarMonthState.EnableType
                    }.plus(1).toString().padStart(2, '0')
                }-01"
            )

    Та хрен его знает что оно делает. Вроде бы находит выбранный месяц календаря, но это не точно.

    DarkPerenL, 25 Ноября 2020

    Комментарии (6)
  6. JavaScript / Говнокод #27092

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function in_array(what, where) {
        for(var i=0; i<where.length; i++)
            if(what == where[i])
                return true;
        return false;
    }

    Когда PHP'шному быдлокодеру не хватило функций в Javascript

    SagePtr, 07 Ноября 2020

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

    +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
    # Alternative mysql_real_escape_string without mysql connection
    
    function escape_string($param) {
        if(is_array($param))
            return array_map(__METHOD__, $param);
    
        if(!empty($param) && is_string($param)) {
            return str_replace(array('\\', "\0", "\n", "\r", "'", '"', "\x1a"), array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'), $param);
        }
    
        return $param;
    }
    
    #Using example
    $name       = @trim(escape_string(stripslashes($_POST['name'])));

    https://gist.github.com/wilnaweb/ca37459bdf92aa74bd2dd7994fa5b0df

    real_escape_string, 09 Сентября 2020

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

    −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
    #include <iostream>
    #include <windows.h>
    
    int i;
    
    using namespace std;
    
    
    int main() {
    	setlocale(LC_ALL, "RUSSIAN");
    	cout << "супер антиверус "чистелка гавна" от леомакс готов к запуську" << endl;
    		for (i;i<101;i++) {
    			switch(i) {
    				case 11:{
    					cout << "проверка на наличие говнакода" << endl;
    					break;
    				};
    				case 28:{
    					cout << "говнакод не найдет" << endl;
    					break;
    				}
    				case 50:{
    					cout << "исчу трайани" << endl;
    					break;
    				}
    				case 64:{
    					cout << "песдец" << endl;
    					break;
    				}
    				case 90:{
    					cout << "готова!!111!!!11!" << endl;
    					break;
    				}
    			}
    		Sleep(100);
    		}
    	cout << "супер антиверус от леосракс "чистелка гавна" нашел верус в вашем компьюктере, с вас всего 999р на нашу карту, если не скинете, вам песдъа"
    	return 0;
    }

    Антивирус "Чистилка Говна" от Leomax. Всего за 999Р!!! Успейте купить сегодня!!!

    COBA_KEK, 13 Августа 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <#@ output extension=".cs" #>
    <#@ assembly name="System.Xml" #>
    <#
     System.Xml.XmlDocument configurationData = ...; // Read a data file here.
    #>
    namespace Fabrikam.<#= configurationData.SelectSingleNode("jobName").Value #>
    {
      ... // More code here.
    }

    T4
    Design time templates define part of the source code and other resources of your application. Typically you use several templates that read the data in a single input file or database, and generate some of your .cs, .vb, or other source files. Each template generates one file. They are executed within Visual Studio or MSBuild.

    https://docs.microsoft.com/en-us/visualstudio/modeling/code-generation-and-t4-text-templates?view=vs-2019

    MAKAKA, 11 Июля 2020

    Комментарии (6)
  10. Go / Говнокод #26717

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    func GetUser() *User {
        defer func() {
            time.Sleep(100 * time.Millisecond)
        }()
        return &User{}
    }

    Паттерн: поработал - отдохни.

    Pattern: worked hard - have a rest

    anon007, 01 Июня 2020

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

    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
    Для уу = 0 по ИндексПЭ-1 цикл 
    		// ** вычисление продаж в розницу**
    		Если Отчет.НетСобственныхТорговыхСетей Тогда 
    			ПроданоВРозницу   = Окр(ОН[уу], 4) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_5[уу] - Окр(ОК[уу],4);
    			//ПроданоВРозницу = Окр(ОН[уу], 6) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_5[уу] - Окр(ОК[уу], 6);
    			//п5_7[уу]=п5_7[уу]+ПроданоВРозницу;
    			п5_7[уу]=ПроданоВРозницу;
    		Иначе 
    			ПроданоВРозницу =   Окр(ОН[уу], 4) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_7[уу] - Окр(ОК[уу], 4);
    			//ПроданоВРозницу = Окр(ОН[уу], 6) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_7[уу] - Окр(ОК[уу], 6);
    			п5_5[уу] = п5_5[уу] + ПроданоВРозницу;
    		КонецЕсли;
    		// ** вычисление колонки Итого ***
    		
    		Если Отчет.ТабачныеИзделия Тогда
    			Если уу = 8 Тогда	//  уу=6 или  уу=5
    				//колонку "Тонны" в колонку итог "млн. штук" не смешиваем....
    				Продолжить;
    			КонецЕсли; 		
    		КонецЕсли; 
    
    		п4_1[ИндексПЭ]		= п4_1[ИндексПЭ]	+ п4_1[уу]; 
    		п4_1_1[ИндексПЭ]	= п4_1_1[ИндексПЭ]	+ п4_1_1[уу]; 
    		п4_1_2[ИндексПЭ]	= п4_1_2[ИндексПЭ]	+ п4_1_2[уу]; 
    		п4_1_3[ИндексПЭ]	= п4_1_3[ИндексПЭ]	+ п4_1_3[уу]; 
    		п4_2[ИндексПЭ]		= п4_2[ИндексПЭ]	+ п4_2[уу]; 
    		п4_3[ИндексПЭ]		= п4_3[ИндексПЭ]	+ п4_3[уу];
    		п5_2[ИндексПЭ]		= п5_2[ИндексПЭ]	+ п5_2[уу];
    		п5_3[ИндексПЭ]		= п5_3[ИндексПЭ]	+ п5_3[уу];
    		п5_4[ИндексПЭ]		= п5_4[ИндексПЭ]	+ п5_4[уу];
    		п5_5[ИндексПЭ]		= п5_5[ИндексПЭ]	+ п5_5[уу];
    		п5_7[ИндексПЭ]		= п5_7[ИндексПЭ]	+ п5_7[уу];  
    		ОН[ИндексПЭ]		= ОН[ИндексПЭ]		+ ОН[уу];
    		ОК[ИндексПЭ]		= ОК[ИндексПЭ]		+ ОК[уу];
    		
    	Конеццикла;	
    	
    	Для уу = 0 по ИндексПЭ цикл
    		п5[уу] =п5_2[уу] + п5_3[уу] + п5_4[уу] + п5_5[уу] + п5_7[уу];
    		п4[уу] =п4_1[уу] + п4_2[уу] + п4_3[уу];
    	Конеццикла;

    Работаю в крупной торговой сети РБ, конфигурация переделана с 7.7 на 8-ку.
    Прилетает сегодня задачка от буха "Не сходятся цифры в алкогольной декларации", захожу в модуль отчета, в котором 2600 строк кода, вроде этого(этот самый сочный), и тут я понял что хочу уволиться))

    Не смог себя сдержать и решил этим поделиться) думаю тут этому коду самое место

    Dudozavr, 29 Мая 2020

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