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

    −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
    // Python
      str = "1,2,3,4,5,6"
      print(str.replace(",", " ")) #1 2 3 4 5 6
    // C# 
      String str = "1,2,3,4,5,6";
      Console.WriteLine(str.Replace(',', ' ')); //1 2 3 4 5 6
    // Java
      String str = "1,2,3,4,5,6";
      System.out.println(str.replace(',',' ')); //1 2 3 4 5 6
    // Javascript
      const str = "1,2,3,4,5,6"
      console.log(str.replace(',', ' ')) //1 2,3,4,5,6

    Почему? А хуй его знает

    bootcamp_dropout, 27 Августа 2019

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

    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
    // где-то в классе MyTable
    
    public next() {
      if (this.firstVisibleRow + this.currentRow < this.sortedData.length) {
        this.firstVisibleRow = this.firstVisibleRow + this.currentRow;
      }
      this.sortTable();
    }
    
    public prev() {
      if (this.firstVisibleRow - this.currentRow > 0) {
        this.firstVisibleRow = this.firstVisibleRow - this.currentRow;
      } else {
        this.firstVisibleRow = 0;
      }
      this.sortTable();
    }
    
    public sortTable() {
      this.sortedData.forEach((item, index) => {
        for (let i = this.firstVisibleRow; i < (this.firstVisibleRow + this.currentRow); i++) {
          if (i === index) {
            this.visiblilityList[index] = true;
    
            return;
          }
        }
        this.visiblilityList[index] = false;
      });
    }

    Коллега не прекращает удивлять )
    Код компонента Таблица для Vue.
    Кажется, в этом коде прекрасно всё.
    Обратите внимание, как красиво выполняется метод sortTable.
    Здесь visiblilityList используется для определения какие ряды в таблице нужно рисовать при пагинации. Про существование переменных page и rowsPerPage не слышал.
    Удивительно, но это говно работает!
    Планируем нашему коллеге по итогам года подарить грамоту "Качественный говнокод года" )

    igpo, 09 Августа 2019

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

    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
    function sortWithIndeces(toSort: any) {
      for (let i = 0; i < toSort.length; i++) {
        toSort[i] = [toSort[i], i];
      }
      toSort.sort(function(left: any[], right: any[]) {
        return left[0] < right[0] ? -1 : 1;
      });
      toSort.sortIndices = [];
      for (let j = 0; j < toSort.length; j++) {
        toSort.sortIndices.push(toSort[j][1]);
        toSort[j] = toSort[j][0];
      }
    
      return toSort;
    }
    
    sortWithIndeces(arr);
    
    arr.sortIndices.forEach((item: any, index: number) => {
      result[index] = data[item];
    });

    Нашёл в гите у нас на проекте этот божественный код )
    Сортировка выглядит так, ни одного коммента в коде.
    В ходе анализа стало понятно что таким образом автор пытался восстановить порядок сортировки.

    igpo, 09 Августа 2019

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

    −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
    if (!a) {
      	a = 1;
    } else {
    	a = 2;
    }
    var a = undefined;
    console.log(a); //undefined
    
    if (!a) {
      	a = 1;
    } else {
    	a = 2;
    }
    var a ;
    console.log(a); //1

    Her, 02 Августа 2019

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

    +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
    parse: function() {
                    let c = dstack[dstack.length - 1];
                    c = c == ' ' ? '\\s' : s.replace(/[^\w\s]/g, '\\$&');
                    const regex = new RegExp('^[^' + c + ']*', 'g');
                    const match = regex.exec(rest_source);
                    dstack.push(match[0]);
                    rest_source = rest_source.slice(regex.lastIndex, rest_source.length);
                    output.push(match[0]);
                },
                word: function() {
                    let c = dstack[dstack.length - 1];
                    c = c == ' ' ? '\\s' : s.replace(/[^\w\s]/g, '\\$&');
                    const regex = new RegExp('^[' + c + ']*', 'g');
                    const match = regex.exec(rest_source);
                    rest_source = rest_source.slice(regex.lastIndex, rest_source.length);
                    output.push(match[0]);
                    words.parse();
                },
                name: function() {
                    dstack.push(' ');
                    words.word();
                },

    /докт[ао]р,?\s*у\s*м[еи]ня\s*регулярк[аои]\s*г[ао]л[ао]вного\s*мо(ск|зг)а/i

    666_N33D135, 27 Июля 2019

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

    0

    1. 1
    2. 2
    Бесят пидоры, которые переопределяют действие "Ctrl+F" в браузере
    на свой сраный никому не нужный поиск.

    BoeHHblu_nemyx, 12 Июля 2019

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

    +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
    var XMLHttpRequest = function(XHR, type, listener) {
    	return function() {
    		var xhr = new XHR;
    		xhr.addEventListener(type, listener);
    		return xhr;
    	};
    }(XMLHttpRequest, 'loadend', function(e) {
    	if (this.status == 0) {
    		console.log(e.type, 'network error');
    	} else {
    		console.log(e.type, this.status);
    	}
    });
    
    // js-library code...

    unicorn, 06 Июля 2019

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    xhr.upload.addEventListener('progress', function (e) {
      if (e.lengthComputable) {
        let percents = Math.round(e.loaded / e.total * 100)
        $(`#preloader-${preloaderId}`).html(`${percents}%`)
        $(`#preloader-${preloaderId}`).append(`<style>#preloader-${preloaderId}:before{ width: ${percents * 0.94}px;}</style>`);
      }
    }, false);

    Прогрессбар на псевдоэлементах.

    mesumev, 05 Июля 2019

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

    +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
    function natRound() {
    
    	var out = []
    	    , fib = [0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233] // etc
    	    , _data = function() { // random values
    
    			var out = []
    				, count = Math.round( Math.random() * 100)
    			;
    
    			for(var i=0; i < count; i++ ) {
    				out.push( Math.random() * 100 ); // in km
    			}
    
    			return out.sort(function(a,b){ return a-b; });
    	    }()
    	    , roundTo = function (value) {
    			var i = fib.length;
    			while(i--) {
    				if ( value < fib[i] ) continue;
    				return i? i: value; // natural sorting
    			}
    	    }
    	;
    
    	for( var i=0; i<_data.length; i++ ) {
    		out.push( 'Value: [' + _data[i] + ']; Sort = [' + roundTo(_data[i]) + ']' );
    	}
    
    	return out;
    }

    Необходимо было учесть дискретность при сортировке расстояний в километрах.
    Например, в синтаксисе Elastic это выглядит так:

    "ranges" => [
    [ "to" => 1 ],
    [ "from" => 1, "to" => 3 ],
    [ "from" => 3, "to" => 5 ],
    [ "from" => 5],
    // etc
    ]

    Используя цепочку чисел Фибоначчи, как наиболее "человечески приятный" ряд, функция roundTo возвращает число для сортировки значений массива.

    bot, 04 Июля 2019

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

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    go 23239
    govno gopa barebuh suka
    
    pidor jopa

    Это — особый диалект «JavaScript», используемый в «Google»: https://www.youtube.com/watch?v=-XRLl9LEZ7c&t=16 (16-я секунда, https://i.imgur.com/O8AwR9B.png).

    Именно поэтому я за «Google».

    gost, 03 Июля 2019

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