1. JavaScript / Говнокод #23975

    −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
    export const getBasketProductsWithCount = state => {
      const productCount = id => R.compose(
        R.length,
        R.filter(basketId => R.equals(id, basketId.id))
      )(state.basket);
      const productWithCount = product => R.assoc('count', productCount(product.id), product);
    
      const uniqueIds = R.uniq(state.basket);
      const products = R.compose(
        R.map(productWithCount),
        R.map(id => id)
      )(uniqueIds);
    
      return products;
    };

    greshnik, 21 Марта 2018

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

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    for condition in price_to_deposit_config
      condition_is_true = false
      if condition.range.length is 2
        if market_data[item.id].volume >= condition.range[0] and market_data[item.id].volume <= condition.range[1]
          condition_is_true = true
      if condition.range.length is 1
        if market_data[item.id].volume >= condition.range[0]
          condition_is_true = true
      if condition_is_true is true
        #mk deposit price by this condition

    CoffeeScript. Мозг плавится 2е сутки.
    Читабельность кода уровень Высоцкого, а то и выше.

    win32, 07 Марта 2018

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

    −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
    function kakPropatchitKdePodFreeBsdFactor(str) {
        return (str.split(/[A-Z0-9]{2,}/).length - 1) + (str.split(/[A-Za-z0-9]{2,}/).length - 1) / 10;
    }
    
    var titles = [];
    var requests = [];
    
    for (var pageId = 1; pageId <= 10; pageId++) {
        (function (pageId) {
            requests.push($.get('https://habrahabr.ru/all/page' + pageId, function (html) {
                var domParser = new DOMParser();
                var doc = domParser.parseFromString(html, 'text/html');
                $(doc).find('.post__title_link').each(function () {
                    titles.push(this.innerHTML);
                });
            }));
        })(pageId);
    }
    
    $.when.apply($, requests).then(function () {
        titles.sort(function (a, b) {
            return kakPropatchitKdePodFreeBsdFactor(b) - kakPropatchitKdePodFreeBsdFactor(a);
        });
        for (var i = 0; i < titles.length; i++) {
            console.log(i + ". " + titles[i]);
        }
    });

    Итак, петушки. Вот я взял 100 последних статей со швабрашвабра, встречайте победителей!!!

    0. Настройка VoIP FXS шлюза Yeastar Neogate TAXXX для работы с 3CX
    1. [size=19]Детективная история про RMCP+ и OpenSSL, или как Wireshark помог победить incorrect argument в OpenIPMI[/size]
    2. [size=18]NRF51822: дружим BLE и RTOS[/size]

    Остальные:
    3. Разработка игр под NES на C. Главы 14-16. Работа со звуком
    4. Дайджест свежих материалов из мира фронтенда за последнюю неделю №304 (26 февраля — 4 марта 2018)
    5. Реализация быстрых 2D-теней в Unity с помощью 1D shadow mapping
    6. Unity 2018 и ProBuilder: создаем, редактируем и текстурируем 3D-модели прямо в редакторе
    7. Вопросы совместимости Tibero и Oracle. Часть 1. Условная компиляция PL/SQL
    8. Выпуск#13: ITренировка — актуальные вопросы и задачи от ведущих компаний
    9. Подборка: 12 сервисов для защиты от DDoS-атак
    10. Платформа CUBA в 2017: новые фичи, новые услуги, новые планы

    Остальное в коментах (не влезает в 2000 символов)

    Предлагайте свои оценки для kakPropatchitKdePodFreeBsdFactor

    inho, 06 Марта 2018

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    new Template('device.matrix.container').load(function (container_tpl) {
    	new Template('device.matrix.device').load(function (device_tpl) {
    		new Template('device.matrix.port').load(function (port_tpl) {
    			new ApiCall('device.matrix.list')
    				.set('house', event.house_id)
    				.do(function (r) {
    					// Do anything
    				})
    		});
    	});
    });

    How don't need to write JS.

    DAVIDhaker, 05 Марта 2018

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

    −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
    var i, j;
    
    loop1:
    for (i = 0; i < 3; i++) {      //The first for statement is labeled "loop1"
       loop2:
       for (j = 0; j < 3; j++) {   //The second for statement is labeled "loop2"
          if (i === 1 && j === 1) {
             continue loop1;
          }
          console.log('i = ' + i + ', j = ' + j);
       }
    }

    Метки в js. Баян?
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label

    vistefan, 03 Марта 2018

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

    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
    // ==UserScript==
    // @name     syomaGKignore
    // @description x-cross to ban GK users for syoma
    // @version  0
    // @match    http://govnokod.ru/*
    // @match    http://www.govnokod.ru/*
    // @grant    none
    // ==/UserScript==
    
    
    window.addEventListener('load', function() {
      localStorage.setItem('banned', localStorage.getItem('banned') || JSON.stringify([]));
      
      var banned = JSON.parse(localStorage.getItem('banned'));
      for (var i = 0; i < banned.length; i++) {
        var hide = document.querySelectorAll('.entry-author a[href$="/' + banned[i] + '"]');
        for (var j = 0; j < hide.length; j++) {
          hide[j].parentNode.parentNode.parentNode.style.display = 'none';
        }
      }
      
      var count = document.querySelector('.enrty-comments-count');
      count.style.cursor = 'pointer';
      count.addEventListener('click', function() {
        localStorage.setItem('banned', JSON.stringify([]));
        location.reload();
      });
      
      var votes = document.querySelectorAll('.comment-vote');
      for (var i = 0; i < votes.length; i++) {
        
        var cross = document.createElement('div');
        cross.innerHTML = '☓';
        
        cross.style.display = 'inline-block';
        cross.style.color = 'black';
        cross.style.marginLeft = '10px';
        cross.style.cursor = 'pointer';
        
        cross.addEventListener('click', function() {
          var id = this.parentNode.querySelector('.entry-author a').href.replace(/^.*\//, '');
      		var banned = JSON.parse(localStorage.getItem('banned'));
          if (banned.indexOf(id) < 0)
          	banned.push(id);
          localStorage.setItem('banned', JSON.stringify(banned));
          location.reload();
        });
        
        votes[i].parentNode.insertBefore(cross, votes[i]);
      }
    });

    Крестик для Сёмы на чистейшем JS, без $ и сложных евентов на аяксы. Работает только на страницах конкретных постов (другие и не нужны, с бормандстока кликнул по ссылке — попал куда надо), и только после полной загрузки страницы. Разбанить всех — это клик по цифре с общим количеством комментариев под постом, рядом со ссылкой на RSS.

    vistefan, 02 Марта 2018

    Комментарии (50)
  7. JavaScript / Говнокод #23845

    −2

    1. 1
    $scope.storage.oldDriver = JSON.parse(JSON.stringify($scope.storage.driverEdit || {})); // @TODO: ни _.clone ни Object.assign не сработали

    Нашел на работе в коде

    Stud, 01 Марта 2018

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

    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
    You have three options in Javascript:
    
    //slice
    //syntax: string.slice(start [, stop])
    "Good news, everyone!".slice(5,9); // extracts 'news'
    
    //substring 
    //syntax: string.substring(start [, stop])
    "Good news, everyone!".substring(5,9); // extracts 'news'
    
    //substr
    //syntax: string.substr(start [, length])
    "Good news, everyone!".substr(5,4); // extracts 'news'

    Как извлечь подстроку в JavaScript.

    Steve_Brown, 01 Марта 2018

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

    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
    Promise.resolve().then(async () => {
        await f();
    }).catch(e => console.log('Popalsa pidrila!'));
    
    async function f(){
        await n();
    }
    
    function n() {
        Promise.reject('pidrila');
    }
    
    process.on('unhandledRejection', error => {
        console.log('oxyel!', error);
      });

    mazhuravlev, 16 Февраля 2018

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

    0

    1. 1
    youtu.be/HdMQqycXi6U?t=13

    Breaking news: найдены уникальные кадры создателя JavaScript в школьные годы.

    dm_fomenok, 15 Февраля 2018

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