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

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

    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
    #include <iostream>
    #include <vector>
    
    template <typename T>
    struct Vec {
            T x, y;
    
    	Vec& operator /=(const T& d) {
                x /= d;
                y /= d;
    	    return *this;
    	}
    };

    Найдите баг в коде.

    Посмотрел этот видос: https://www.youtube.com/watch?v=4M1MlW0sP0Q

    3_dar, 11 Января 2021

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

    −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
    // https://github.com/dotnet/coreclr/blob/a9f3fc16483eecfc47fb79c362811d870be02249/src/vm/i386/cgenx86.cpp#L1613
    
    PCODE DynamicHelpers::CreateHelperWithTwoArgs(LoaderAllocator * pAllocator, TADDR arg, TADDR arg2, PCODE target)
    {
    #ifdef UNIX_X86_ABI
        BEGIN_DYNAMIC_HELPER_EMIT(23);
    #else
        BEGIN_DYNAMIC_HELPER_EMIT(17);
    #endif
    
    #ifdef UNIX_X86_ABI
    	// sub esp, 4
    	*p++ = 0x83;
    	*p++ = 0xec;
    	*p++ = 0x4;
    #else
        // pop eax
        *p++ = 0x58;
    #endif
    
        // push arg
        *p++ = 0x68;
        *(INT32 *)p = arg;
        p += 4;
    
        // push arg2
        *p++ = 0x68;
        *(INT32 *)p = arg2;
        p += 4;
    
    #ifdef UNIX_X86_ABI
        // mov eax, target
        *p++ = 0xB8;
        *(INT32 *)p = target;
        p += 4;
    #else
        // push eax
        *p++ = 0x50;
    #endif
    
        *p++ = X86_INSTR_JMP_REL32; // jmp rel32
    #ifdef UNIX_X86_ABI
        *(INT32 *)p = rel32UsingJumpStub((INT32 *)p, (PCODE)DynamicHelperArgsStub);
    #else
        *(INT32 *)p = rel32UsingJumpStub((INT32 *)p, target);
    #endif
        p += 4;
    
        END_DYNAMIC_HELPER_EMIT();
    }

    Функция из дотнеткора, которая нахерачивает опкодов куда-то.

    j123123, 28 Октября 2020

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    eventRowsStyle() {
        if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) {
           return {
               height: '187px'
           } 
       } else {
           return {
               height: '187px'
           } 
       }
    }

    Слишком много вопросов и мало ответов

    diman_suvor, 09 Октября 2020

    Комментарии (21)
  5. PHP / Говнокод #26606

    +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
    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
    // file ceny.php
    $МС_1А_t = '29 000'; //Отходы производства белой бумаги (кроме газетной)
    $МС_1А_k = '29,0';
    $МС_2А_t = '17 000'; //Отходы производства всех видов белой бумаги в виде обрезков с линовкой и черно-белой или цветной полосой
    $МС_2А_k = '17,0';
    $МС_5Б_1_t = '11 500'; //Отходы производства гофрированного картона и его компонентов
    $МС_5Б_1_k = '11,5';
    $МС_5Б_2_t = '10 500'; //Отходы потребления гофрированного картона
    $МС_5Б_2_k = '10,5';
    $МС_6Б_t = '7 500'; //Отходы производства и потребления картона всех видов с печатью (кроме гофрокартона)
    $МС_6Б_k = '7,5';
    $МС_6Б_1_t = '13 500'; //Отходы производства картона только из беленых волокнистых материалов
    $МС_6Б_1_k = '13,5';
    $МС_7Б_1_t = '16 500'; //Отходы белой бумаги с черно-белой печатью не более 20%
    $МС_7Б_1_k = '16,5';
    $МС_7Б_2_t = '11 500'; //Отходы бумаги (кроме газетной) с черно-белой и цветной печатью, в том числе крашеные в массе
    $МС_7Б_2_k = '11,5';
    $МС_7Б_3_t = '9 500'; //Книги, журналы, брошюры, проспекты, каталоги
    $МС_7Б_3_k = '9,5';
    $МС_8В_t = '12 000'; //Отходы производства и потребления газет и газетной бумаги
    $МС_8В_k = '12,0';
    $МС_9В_t = '7 500'; //Бумажные гильзы, шпули, втулки
    $МС_9В_k = '7,5';
    
    // некст файл
    ... какой-то шаблон с выводом текста
    <?php
    			include_once "%ceny.php%";
    			
    			if($page_code == 'ms1a') echo "<p>Цена: до  {$МС_1А_t} руб. за тонну (до {$МС_1А_k} руб. за кг).</p>";
    			if($page_code == 'ms2a') echo "<p>Цена: до  {$МС_2А_t} руб. за тонну (до {$МС_2А_k} руб. за кг).</p>";
    			if($page_code == 'ms5b-1') echo "<p>Цена: МС-5Б/1 - до {$МС_5Б_1_t} руб. за тонну (до {$МС_5Б_1_k} руб. за кг).</p>";
    			if($page_code == 'ms5b-2') echo "<p>Цена: МС-5Б/2 - до {$МС_5Б_2_t} руб. за тонну (до {$МС_5Б_2_k} руб. за кг).</p>";
    			if($page_code == 'ms6b') echo "<p>Цена: МС-6Б - до {$МС_6Б_t} руб. за тонну (до {$МС_6Б_k} руб. за кг).</p>";
    			if($page_code == 'ms6b-1') echo "<p>МС-6Б/1 - до {$МС_6Б_1_t} руб. за тонну (до {$МС_6Б_1_k} руб. за кг).</p>";
    			if($page_code == 'ms7b-1') echo "<p>Цена: МС-7Б/1 - до {$МС_7Б_1_t} руб. за тонну (до {$МС_7Б_1_k} руб. за кг).</p>";
    			if($page_code == 'ms7b-2') echo "<p>МС-7Б/2 - до {$МС_7Б_2_t} руб. за тонну (до {$МС_7Б_2_k} руб. за кг).</p>";
    			if($page_code == 'ms7b-3') echo "<p>МС-7Б/3 - до {$МС_7Б_3_t} руб. за тонну (до {$МС_7Б_3_k} руб. за кг).</p>";
    			if($page_code == 'ms8v') echo "<p>Цена: до {$МС_8В_t} руб. за тонну (до {$МС_8В_k} руб. за кг).</p>";
    			if($page_code == 'ms9v') echo "<p>Цена: до {$МС_9В_t} руб. за тонну (до {$МС_9В_k} руб. за кг).</p>";
    			if($page_code == 'ms13v') echo "<p>Цена: до {$МС_13В_t} руб. за тонну (до {$МС_13В_k} руб. за кг).</p>";
    			if($page_code == 'othod-poliehtilena') echo "<p>Цена: до {$П_Э_t} руб. за тонну (до {$П_Э_k} руб. за кг).</p>";
    ?>

    Продолжение трилогии http://govnokod.ru/25730, так вот зачем это было нужно

    phpBidlokoder2, 27 Апреля 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    auto srv = http::Server::create(
        JsClosure::create([] (JsArray::Ptr args) {
            auto res = args->getPtr<http::ServerResponse>(1);
            res->setHeader(http::HEADER_CONTENT_TYPE, str("text/plain"));
            res->end(str("Hello World\n"));
            return UNDEFINED;
        }));
    srv->listen(1337, str("127.0.0.1"));
    node::run();

    https://github.com/plenluno/libnode
    Что если взять два говна (плюсы и js) и сделать свою ноду? Получится этот высер с потугами на embedded.
    Неосилятор? Или переосилятор?

    jojaxon, 20 Апреля 2020

    Комментарии (21)
  7. Java / Говнокод #26588

    +6

    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
    public Page<DispatchSchedule>findBySalesOrderItemSalesOrderOrderDateBetween(Date startDate, Date endDate, Pageable pageable) {
            return repository.findBySalesOrderItemSalesOrderOrderDateBetween(startDate, endDate, pageable);
    
        }
        public Page<DispatchSchedule> findBySalesOrderItemSalesOrderOrderDateAndJob(Date date, Job job, Pageable pageable) {
            return repository.findBySalesOrderItemSalesOrderOrderDateAndJob(date, job, pageable);
        }
    
        public Page<DispatchSchedule> findBySalesOrderItemSalesOrderOrderDateBetweenAndJob(Date startDate, Date endDate, Job job, Pageable pageable) {
            return repository.findBySalesOrderItemSalesOrderOrderDateBetweenAndJob(startDate, endDate, job, pageable);
        }
       
        public Page<DispatchSchedule> findBySalesOrderItemSalesOrderCustomerAndSalesOrderItemSalesOrderOrderDateBetween(Customer customer, Date startDate, Date endDate, Pageable pageable) {
            return repository.findBySalesOrderItemSalesOrderCustomerAndSalesOrderItemSalesOrderOrderDateBetween(customer, startDate, endDate, pageable);
        }
        public Page<DispatchSchedule> findBySalesOrderItemSalesOrderCustomerAndSalesOrderItemSalesOrderOrderDateAndJob(Customer customer, Date date, Job job, Pageable pageable) {
            return repository.findBySalesOrderItemSalesOrderCustomerAndSalesOrderItemSalesOrderOrderDateAndJob(customer, date, job, pageable);
    
        }
        public Page<DispatchSchedule> findBySalesOrderItemSalesOrderCustomerAndSalesOrderItemSalesOrderOrderDateBetweenAndJob(Customer customer, Date startDate, Date endDate, Job job, Pageable pageable) {
            return repository.findBySalesOrderItemSalesOrderCustomerAndSalesOrderItemSalesOrderOrderDateBetweenAndJob(customer, startDate, endDate, job, pageable);
        }
    
        Page<DispatchSchedule> findBySalesOrderItemSalesOrderCustomer(Customer customer, Pageable pageable) {
            return repository.findBySalesOrderItemSalesOrderCustomer(customer, pageable);
        }
    
        Page<DispatchSchedule> findByJob(Job job, Pageable pageable) {
            return repository.findByJob(job, pageable);
    }
    
    
    public Page<DispatchSchedule> findByJobItemAndSalesOrderItemSalesOrderOrderDateBetween(Item item, Date startDate, Date endDate, Pageable pageable) {
        return repository.findByJobItemAndSalesOrderItemSalesOrderOrderDateBetween(item, startDate, endDate, pageable);
    }
    
    public Page<DispatchSchedule> findBySalesOrderItemSalesOrderSalesOrderTypeAndSalesOrderItemSalesOrderOrderDateBetween(SalesOrderType salesOrderType, Date startDate, Date endDate, Pageable pageable) {
        return repository.findBySalesOrderItemSalesOrderSalesOrderTypeAndSalesOrderItemSalesOrderOrderDateBetween(salesOrderType, startDate, endDate, pageable);
    }
    
    public Page<DispatchSchedule> findByJobItemAndSalesOrderItemSalesOrderOrderDateBetweenAndJob(Item item, Date startDate, Date endDate, Job job, Pageable pageable) {
        return repository.findByJobItemAndSalesOrderItemSalesOrderOrderDateBetweenAndJob(item, startDate, endDate, job, pageable);
    }
    
    public Page<DispatchSchedule> findByJobItemAndSalesOrderItemSalesOrderOrderDateBetweenAndSalesOrderItemSalesOrderSalesOrderType(Item item, Date startDate, Date endDate, SalesOrderType salesOrderType, Pageable pageable) {
        return repository.findByJobItemAndSalesOrderItemSalesOrderOrderDateBetweenAndSalesOrderItemSalesOrderSalesOrderType(item, startDate, endDate, salesOrderType, pageable);
    }
    
    public Page<DispatchSchedule> findByJobItemAndSalesOrderItemSalesOrderOrderDateBetweenAndSalesOrderItemSalesOrderCustomer(Item item, Date startDate, Date endDate, Customer customer, Pageable pageable) {
        return repository.findByJobItemAndSalesOrderItemSalesOrderOrderDateBetweenAndSalesOrderItemSalesOrderCustomer(item, startDate, endDate, customer, pageable);
    }
    
    public Page<DispatchSchedule> findBySalesOrderItemSalesOrderSalesOrderTypeAndSalesOrderItemSalesOrderOrderDateBetweenAndJob(SalesOrderType salesOrderType, Date startDate, Date endDate, Job job, Pageable pageable) {
        return repository.findBySalesOrderItemSalesOrderSalesOrderTypeAndSalesOrderItemSalesOrderOrderDateBetweenAndJob(salesOrderType, startDate, endDate, job, pageable);
    }
    
    public Page<DispatchSchedule> findBySalesOrderItemSalesOrderSalesOrderTypeAndSalesOrderItemSalesOrderOrderDateBetweenAndSalesOrderItemSalesOrderCustomer(SalesOrderType salesOrderType, Date startDate, Date endDate, Customer customer, Pageable pageable) {
        return repository.findBySalesOrderItemSalesOrderSalesOrderTypeAndSalesOrderItemSalesOrderOrderDateBetweenAndSalesOrderItemSalesOrderCustomer(salesOrderType, startDate, endDate, customer, pageable);
    }

    Можно мне травы, которую курили эти ребята :D
    Ссылка на репо:
    https://github.com/thilina01/file-manager-api/blob/25a771ac0c1940408fb7c7f021d63ef30b2af891/src/main/java/com/trendsmixed/fma/module/dispatchschedule/DispatchScheduleService.java

    pashaluk31, 17 Апреля 2020

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

    −4

    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
    document.addEventListener('DOMContentLoaded', function() {
    	var req = indexedDB.open('site');
    	req.onerror = function() {
    		alert(this.error);
    	};
    	req.onupgradeneeded = function() {
    		let db = this.result;
    		if(!db.objectStoreNames.contains('files'))
    			db.createObjectStore('files', { autoIncrement: true });
    	};
    	let n = 0;
    	req.onsuccess = function() {
    		setTimeout(function run() {
    			n++;
    			let db = req.result;
    			let t = db.transaction('files', 'readwrite');
    			let file = t.objectStore('files');
    			let str = new Date().toString().repeat(1000);
    			for(let i=0;i<100;i++)
    				file.add(str);
    			if(n < 1000000)
    				setTimeout(run);
    		});
    	};
    });

    теперь страница не будет подвисать

    codershitter, 30 Декабря 2019

    Комментарии (21)
  9. Си / Говнокод #26202

    −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
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <stdlib.h>
    
    int Regctl_set_ioctl5(ulong param_1,ulong param_2)
    
    {
      int __fd;
      int iVar1;
    
      struct {
        ulong addr;
        ulong flags;
        int * resultptr;
        int result;
      } x;
    
      x.addr = param_1;
      x.flags = param_2;
    
      __fd = open("/dev/regctl",O_RDWR);
      if (__fd == 0) { printf("%s: error:  open dev/misc/regctl  fail \n","dwReadRegVal"); } else {
        iVar1 = ioctl(__fd,5,&x);
        if (iVar1 == -1) {
          printf("%s: error:  regctl ioctl fail \n","dwReadRegVal");
          close(__fd);
        }
        else {
          close(__fd);
        }
      }
      printf("iVar1: %d\n", iVar1);
      printf("%d\n", x.result);
      //return __fd;
      return -1;
    }
    
    int Regctl_set_2_dwWriteRegVal(int param_1,int param_2,int param_3)
    
    {
    	int fd; int iVar1;
    	struct {
    		int addr;
    		int flags;
    		int * data;
    	} y;
    	y.addr = param_1;
    	y.flags = param_2;
    	y.data[0] = param_3;
    
      fd = open("/dev/regctl",O_RDWR);
      if (fd == 0) {
        printf("%s: error:  open dev/misc/regctl  fail \n","dwWriteRegVal");
      }
      else {
        iVar1 = ioctl(fd,1,&y);
        if (iVar1 == -1) {
          printf("%s: error:  regctl ioctl fail \n","dwWriteRegVal");
          close(fd);
        }
        else {
          close(fd);
        }
      }
      //return __fd;
      return -1;
    }
    
    void Regctl_main_function(void) {
    	uint uVar1; uVar1 = Regctl_set_ioctl5(0x90c00000,0x54);
    	printf("uVar1: %d\n", uVar1);
    //	Regctl_set_2_dwWriteRegVal(-0x6f400000,0x54,uVar1 & 0xfffc3fff | 0x28000);
    	return;
    }
    
    int main() {
    	Regctl_main_function();
    	return 0;
    }

    выдаёт segfault, что тут не так?

    TTcuxonam, 12 Декабря 2019

    Комментарии (21)
  10. JavaScript / Говнокод #25896

    0

    1. 1
    2. 2
    3. 3
    onItemClicked(item: any) {
      this.onItemClick.emit({ item: item.item });
    }

    Ехал айтем через айтем
    Видит айтем, айтем кликд
    Сунул айтем айтем в айтем
    Зис он айтем клик эмит

    Zetway, 03 Октября 2019

    Комментарии (21)
  11. Си / Говнокод #25803

    −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
    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 <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main(int argc, char *argv[])
    {
    
    char** explode(char* inaddr, char s)
    {
    char**  xxx;
    xxx=(char**)malloc(strlen(inaddr));
    char* temp;
    temp=(char*)malloc(strlen(inaddr));
    
    int u=0,i=0,t=0;
    
    char* getln(char *addr)
    {
    while (*(addr+i) !=s && *(addr+i) !='\0' && *(addr+i) !=EOF)
    {temp[t]=inaddr[i];t++;i++;};
    temp[t]='\0';
    i++;t=0;
    return(temp);
    }
    
    while (inaddr[i])
    {
    xxx[u]=strdup(getln(inaddr));
    u++;
    };
    return(xxx);
    };
    
    //для проверки результата
    char* str="Y000:aa;dsf;dddsf;dsfdsf;1YYYYY;YYYYY;YYYYYY;sfd:sfdsfdsfdsfdsfdsfdsfdsf1YYYYYYY:YYYYYYYYY;b;cc;Ydsfds;876786876a:1132";
    char** eee;
    eee=(char**)malloc(strlen(str));
    
    
    eee=explode(str, ';');
    
    int zz=0;
    while(eee[zz])
    {
      printf("%s\n",eee[zz] );zz++;
    };
    printf("%c",eee[0][0] );
    printf("\n" );
    
    }

    функция explode() как php давно о такой мечтал.

    killer1804, 04 Сентября 2019

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