1. PHP / Говнокод #26393

    −3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Что это за бесячая стрелка на говнокоде, которая появляется при горизонтальном скроле?
    https://i.imgur.com/uRcKSDO.png
    
    Браузер - Opera. В FF, IE, Google Chrome - не воспроизводится. 
    Это заговр против Норвежских разработчиков?

    Her, 29 Января 2020

    Комментарии (13)
  2. JavaScript / Говнокод #26392

    +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
    var owl3L = $('.owl-carousel3 .js__product').length;
        owl3L && $('.owl-carousel3').owlCarousel({
            ...
            responsive: {
                0: {
                    items: 1,
                    loop: owl3L > 1 ? true : false,
                    slideBy: 1
                },
                600: {
                    items: 2,
                    loop: owl3L > 2 ? true : false,
                    slideBy: 2
                },
                1000: {
                    items: 4,
                    loop: owl3L > 4 ? true : false,
                    slideBy: 4
                }
            }
        });

    Какой "Java Script"

    phpBidlokoder2, 29 Января 2020

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public function update_balance()
    	{
    		$this->balance = $this->balance_at_end_of_day(time());
    	}
        
           public function balance_at_end_of_day($time)
    	{
    		return $this->balance_at_beginning_of_day($time + 24*60*60);
    	}

    когда окунулся в легаси

    alucas, 28 Января 2020

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

    +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
    // https://www.linux.org.ru/forum/development/15496357
    
    // Нужен нормальный способ сказать компилятору что type aliasing невозможен на некотором участке кода. Минимальный пример:
    
    template<typename T> struct f final {
    	void bad(T v) noexcept { while (b != e) *b++=v; }
    	void good(T v) noexcept {
    		auto tb(b), te(e);
    		while (tb != te) *tb++=v;
    		b=tb;
    		e=te;
    	}
    
    	T* b, * e;
    };
    template struct f<char>;
    /*
    Выхлоп gcc-8:
    
    $ g++ -xc++ -std=c++14 -pedantic-errors -Os -c -of.o f.cc
    $ objdump -Cd f.o
    f.o:     file format elf64-x86-64
    
    
    Disassembly of section .text._ZN1fIcE3badEc:
    
    0000000000000000 <f<char>::bad(char)>:
       0:	48 8b 07             	mov    (%rdi),%rax
       3:	48 3b 47 08          	cmp    0x8(%rdi),%rax
       7:	74 0c                	je     15 <f<char>::bad(char)+0x15>
       9:	48 8d 50 01          	lea    0x1(%rax),%rdx
       d:	48 89 17             	mov    %rdx,(%rdi)
      10:	40 88 30             	mov    %sil,(%rax)
      13:	eb eb                	jmp    0 <f<char>::bad(char)>
      15:	c3                   	retq   
    
    Disassembly of section .text._ZN1fIcE4goodEc:
    
    0000000000000000 <f<char>::good(char)>:
       0:	48 8b 07             	mov    (%rdi),%rax
       3:	48 8b 57 08          	mov    0x8(%rdi),%rdx
       7:	48 39 d0             	cmp    %rdx,%rax
       a:	74 09                	je     15 <f<char>::good(char)+0x15>
       c:	48 ff c0             	inc    %rax
       f:	40 88 70 ff          	mov    %sil,-0x1(%rax)
      13:	eb f2                	jmp    7 <f<char>::good(char)+0x7>
      15:	48 89 07             	mov    %rax,(%rdi)
      18:	48 89 47 08          	mov    %rax,0x8(%rdi)
      1c:	c3                   	retq
    */

    f<char>::bad(char)+0, f<char>::bad(char)+3 и f<char>::bad(char)+d - три раза за итерацию лезет в память. Разумеется, подобный код сливает в тестах производительности. Есть решение лучше, чем локальные переменные заводить каждый раз?

    j123123, 28 Января 2020

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

    −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
    (function(){
      const panel = document.querySelector('.pane-content > ul');
      function appendLink(text, href) {
        const li = document.createElement('li');
        const a = document.createElement('a');
        li.appendChild(a);
        a.setAttribute('href', href);
        a.innerText = text;
        panel.appendChild(li);
      }
      appendLink("Перелогиниться", 'https://govnokod.ru/user/exit/?url=https://govnokod.ru/user/login');
      appendLink("Регистрация", 'https://govnokod.ru/user/exit/?url=https://govnokod.ru/user/register');
    })();

    Кокококое у гк удобне апи )))

    KpunoBblu_nemyx, 28 Января 2020

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

    +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
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    #include <iostream>
    using namespace std;
    bool check(int a, int b){
    	int ass[10] = {0}, bass[10] = {0};
    	while(a){
    		ass[a % 10]++;
    		bass[b % 10]++;
    		a /= 10;
    		b /= 10;
    	}
    	for(int i = 0; i < 10; i++){
    		if(ass[i] != bass[i]) return false;
    	}
    	return true;
    }
    int main() {
    	for(int i = 1; i < 10; i++){
    		for(int j = 0; j < 10; j++){
    			for(int k = 0; k < 10; k++){
    				for(int l = 0; l < 10; l++){
    					for(int m = 0; m < 10; m++){
    						for(int n = 0; n < 10; n++){
    							for(int o = 0; o < 10; o++){
    								for(int p = 0; p < 10; p++){
    									for(int r = 1; r < 10; r++){
    											long long a =
    											i * 100000000
    											+ j * 10000000
    											+ k * 1000000
    											+ l * 100000
    											+ m * 10000
    											+ n * 1000
    											+ o * 100
    											+ p * 10
    											+ 3;
    											long long z = r * 10000000
    											+ r * 1000000
    											+ r * 100000
    											+ r * 10000
    											+ r * 1000
    											+ r * 100
    											+ r * 10
    											+ r;
    											if(check(a, a + z)){
    												cout << a << " " << z << endl;
    											}
    									}
    								}
    							}
    						}
    					}
    				}
    			}
    		}
    	}
    }

    Коротко о переборах.

    Verenick, 28 Января 2020

    Комментарии (14)
  7. Куча / Говнокод #26385

    −2

    1. 1
    IT Оффтоп #29

    #1: https://govnokod.ru/18142 https://govnokod.xyz/_18142
    #2: https://govnokod.ru/18378 https://govnokod.xyz/_18378
    #3: https://govnokod.ru/19667 https://govnokod.xyz/_19667
    #4: https://govnokod.ru/21160 https://govnokod.xyz/_21160
    #5: https://govnokod.ru/21772 https://govnokod.xyz/_21772
    #6: https://govnokod.ru/24063 (потёр пидор сракер) https://govnokod.xyz/_24063
    #7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
    #8: https://govnokod.ru/24815 (потёр пидор сракер) https://govnokod.xyz/_24815
    #9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
    #10: https://govnokod.ru/25328 https://govnokod.xyz/_25328
    #11: https://govnokod.xyz/_25436 https://govnokod.ru/25436 (потёр пидор сракер)
    #12: https://govnokod.xyz/_25471
    #13: https://govnokod.xyz/_25590 (потёр пидор сракер)
    #14: https://govnokod.xyz/_25684
    #15: https://govnokod.xyz/_25694
    #16: https://govnokod.xyz/_25725
    #17: https://govnokod.xyz/_25731
    #18: https://govnokod.xyz/_25762
    #19: https://govnokod.xyz/_25767
    #20: https://govnokod.xyz/_25776
    #21: https://govnokod.xyz/_25798
    #22: https://govnokod.xyz/_25811
    #23: https://govnokod.xyz/_25863
    #24: https://govnokod.xyz/_25941
    #25: https://govnokod.xyz/_26026
    #26: https://govnokod.xyz/_26050
    #27: https://govnokod.xyz/_26340
    #28: https://govnokod.xyz/_26372

    syoma, 28 Января 2020

    Комментарии (517)
  8. Си / Говнокод #26384

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // https://github.com/microsoft/PQCrypto-SIDH/blob/ebd1c80a8ac35e9ca2ef9680291a8a43b95a3bfa/src/random/random.c#L22
    
    static __inline void delay(unsigned int count)
    {
        while (count--) {}
    }

    ... guess what?

    j123123, 25 Января 2020

    Комментарии (81)
  9. Куча / Говнокод #26383

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    SystemD нарушает философию UNIX.
    
    Вместо больших программ которые решают несколько задач одновременно, делайте много маленьких программ, которые решают одну задачу, но делают это хорошо.
    
    Не то, чтобы он плохо справлялся со своими задачами, но он управляет и сервисами, и udev'ом, через него уже и смотрят лог ядра, через него настраивают автозагрузку.
    Много задач через одну программу.  
    
    Именно поэтому я против SystemD. 
    
    дискасс.

    OlegUP, 25 Января 2020

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

    −1

    1. 1
    2. 2
    3. 3
    https://twitter.com/indygreg/status/1218643088928698368
    
    > If you care about low-latency processes (CLIs, frequently-called scripts in build systems, etc), you may want to avoid Python.

    пацаны, оказывается питон не стоит использовать для реалтаймовых приложений, вы знали?

    Fike, 25 Января 2020

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