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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    var user = 'trol';
    function pow() {
      alert( 'Hello trol!' );
    }
    if(user == 'trol'){
    while(true){ //Chrome 
    pow();
    }
    }

    Так и живём

    ponchic, 06 Мая 2015

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

    +142

    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
    function num_to_sxg($n) {
     $s = "";
     $m = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ_abcdefghijkmnopqrstuvwxyz";
     if ($n===undefined || $n===0) { return 0; }
     while ($n>0) {
       $d = $n % 60;
       $s = strcat($m[$d],$s);
       $n = ($n-$d)/60;
     }
     return $s;
    }
    
    function num_to_sxgf($n, $f) {
     $s = num_to_sxg($n);
     if ($f===undefined) { 
       $f=1; 
     }
     $f -= strlen($s);
     while ($f > 0) { 
       $s = strcat("0",$s); 
       --$f; 
     }
     return $s;
    }
    
    function sxg_to_num($s) {
     $n = 0;
     $j = strlen($s);
     for ($i=0;$i<$j;$i++) { // iterate from first to last char of $s
       $c = ord($s[$i]); //  put current ASCII of char into $c  
       if ($c>=48 && $c<=57) { $c=$c-48; }
       else if ($c>=65 && $c<=72) { $c-=55; }
       else if ($c==73 || $c==108) { $c=1; } // typo capital I, lowercase l to 1
       else if ($c>=74 && $c<=78) { $c-=56; }
       else if ($c==79) { $c=0; } // error correct typo capital O to 0
       else if ($c>=80 && $c<=90) { $c-=57; }
       else if ($c==95) { $c=34; } // underscore
       else if ($c>=97 && $c<=107) { $c-=62; }
       else if ($c>=109 && $c<=122) { $c-=63; }
       else { $c = 0; } // treat all other noise as 0
       $n = 60*$n + $c;
     }
     return $n;
    }

    Угадайте, какой это язык и что пил автор.

    http://ideone.com/87cVrr

    http://ideone.com/Z8j7ve

    solnze_dar, 02 Мая 2015

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

    +144

    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
    class Select
      constructor: ->
        Select = this
    
    
    ###
    
    var Select;
    
    Select = (function() {
      function Select() {
        Select = this;
      }
    
      return Select;
    
    })();

    код на coffeescript. до сих пор годаю - зачем?

    frozfox, 01 Мая 2015

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

    +142

    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
    'use strict';
    
    var menuContainers = document.getElementsByClassName('menu__container');
    
    for (var i = 0; i < menuContainers.length; i++) {
      menuContainers[i].getElementsByClassName('menu__current')[0].setAttribute('onclick', 'menuOpen(' + i + ')');
    }
    
    //Changing visibility all elements of menu
    
    function menuOpen(i) {
      menuContainers[i].getElementsByClassName('menu__item')[0].classList.toggle('menu__item--visible');
      menuContainers[i].getElementsByClassName('menu__item')[1].classList.toggle('menu__item--visible');
      menuContainers[i].getElementsByClassName('menu__item')[2].classList.toggle('menu__item--visible');
      menuContainers[i].getElementsByClassName('menu__item')[3].classList.toggle('menu__item--visible');
    }

    serhii, 30 Апреля 2015

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

    +144

    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
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    function Calculation(a, b, op){
        if (typeof a == "number" && typeof (b) == "number"){
            var result;
            +a; +b;
            if (op == "+")  { result = a+b; alert(result);
            } else if (op == "-") { result = a-b; alert(result);
            } else if (op == "*"){ result = a*b; alert(result);
            } else if (op == "/"){
                if (b!=0){ 
                    result = a/b; alert(result);
                } else {
                    alert("Can`t divide on zero!");
                }
            }
        } else if (a instanceof Array && b instanceof Array) {
            var result = [];
            if ( a.length >= b.length ){
                length = a.length;
                for (var i=0; i < length; i++){
                    a[i] = parseFloat(a[i]);
                    b[i] = parseFloat(b[i]);
                    if (i < b.length-1){
                        if (op == "+"){ result[i] = a[i]+b[i];
                        } else if (op == "-"){ result[i] = a[i]-b[i];
                        } else if (op == "*"){ result[i] = a[i]*b[i];
                        } else if (op == "/"){
                            if (b[i]!=0){
                                result[i] = a[i]/b[i];
                            } else {
                                alert("Can`t divide on zero!");
                            }
                        }
                    } else {
                        result[i] = a[i];
                    }
                } 
                alert(result.join("  |  "));
            } else {
                length = b.length;
                for (var i=0; i < length; i++){
                    +a[i]; +b[i];
                    if (i < a.length-1){
                        switch (op){
                            case "+":
                                result[i] = a[i]+b[i];
                                break;
                            case "-":
                                result[i] = a[i]+b[i];
                                break;
                            case "*":
                                result[i] = a[i]+b[i];
                                break;
                            case "/":
                                if (b[i]!=0){
                                    result[i] = a[i]/b[i];
                                } else {
                                    alert("Can`t divide on zero!");
                                }
                                break;
                        }
                    } else {
                        result[i] = a[i];
                    }
                } 
                alert(result.join("  |  "));
            }
        } else if (a instanceof Object && b instanceof Object) {
            var tempObject = {};
                switch (op){
                    case "+":
                        tempObject.resultA = a.a+b.a;
                        tempObject.resultB = a.b+b.b;
                        break;
                    case "-":
                        tempObject.resultA = a.a+b.a;
                        tempObject.resultB = a.b+b.b;
                        break;
                    case "*":
                        tempObject.resultA = a.a+b.a;
                        tempObject.resultB = a.b+b.b;
                        break;
                    case "/":
                        if (b.b !=0 || b.a != 0){
                            tempObject.resultA = a.a+b.a;
                            tempObject.resultB = a.b+b.b;
                        } else {
                            alert("Can`t divide on zero!");
                        }
                        break;
                }
                
                alert(tempObject.resultA + " " + tempObject.resultB);
        }
    }

    Вот такой вот калькулятор!

    alexhelkar, 30 Апреля 2015

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

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var returnValue = false;
    
    bool result = doSomething();
    if (!result)
    {
    return returnValue;
    }
    
    returnValue = true;
    return returnValue;

    kuznetps, 30 Апреля 2015

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

    +142

    1. 1
    2. 2
    3. 3
    $("input[name=remarks[]][type=checkbox]:checked").each(function(){
    ....
    })

    Что бывает когда начинают "программировать" на jquery

    Vasiliy, 29 Апреля 2015

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

    +142

    1. 1
    this.reparent = function (new_parent) {var el = this.element; el.parentNode.removeChild(el); new_parent.appendChild(el);}

    Наткнулся в старом, но ещё работающем коде. Может быть, это даже я написал. Надеюсь, что нет.
    …Нет, похоже, всё-таки не я. Я бы не назвал класс подсвеченного элемента hilited, даже десять лет назад. Похоже, это босс писал.

    torbasow, 27 Апреля 2015

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

    +143

    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
    _save = (data, callback) ->
      tags = if data.tags then data.tags else []
      removed_tag_ids = if data.removed_tag_ids then data.removed_tag_ids else []
      post = if data.post then data.post else null
      new_tags = _.filter tags, (tag) ->
        not _.has(tag, "label")
      old_tags = _.filter tags, (tag) ->
          _.has(tag, "label")
          
      $.when(_.each old_tags, (old_tag) =>
        tag_post.save({tag: tag, post: post})
      ).done(=>
      	do callback
      )

    Обратились с вопросом "почему не работает".
    PS метод save асинхронный

    alek0585, 23 Апреля 2015

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

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if ((subchannel == undefined || "none") && (subsubchannel == undefined || "none")) {
        subchannel = channel;
        subsubchannel = subchannel;
    } else if ((subchannel != undefined || "none") && (subsubchannel == undefined || "none")) {
        subsubchannel = subchannel;
    } else if ((subchannel == undefined || "none") && (subsubchannel != undefined || "none")) {
        subchannel = channel;
    } else {
        subchannel = subchannel;
        channel = channel;
    }

    Скопировал из похожего проекта не глядя, и потом удевляюсь что херня получается. А там ведь как-то работает, бля...

    russling, 21 Апреля 2015

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