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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    if((int)$this->tmpl['detailwindow'] == 4 || (int)$this->tmpl['detailwindow'] == 5 || (int)$this->tmpl['detailwindow'] == 7) {
      } else { 
       echo '<td align="center">' . str_replace("%onclickclose%", $this->tmpl['detailwindowclose'], $this->item->closebutton). '</td>';
      }

    Какая глубина мысли!
    Интересно, а чтобы ОНО написало в С++?

    virtual_cia, 26 Декабря 2013

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

    +138

    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
    const bool ShowOkIfAllIsCool = true;
    
    book OK()
    {
        return ShowOkIfAllIsCool;
    }
    
    bool GetFileExists(string filePath)
    {
         return File.Exists(filePath);
    }
    
    int GetLengthFileName(string filePath)
    {
        return filePath.Lenght;
    }
    
    int SetMaxValue(int maxValue)
    {
        _OPENWINDOWSAFTERINITIALIZATION = maxValue;
    }

    Программированием занимаюсь много лет, а так и не могу понять, для чего создавать подобные методы в 1 строку и константы заглавными буквами огромной длины? Их люди пишут или это автоматически созданный код какой-то прогой? В чужих программах такое часто можно встретить.

    sbs, 25 Декабря 2013

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

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    string fileName = Path.GetFileName(f);
    string fileExt = Path.GetExtension(f);
    string i=fileName.IndexOf(fileExt);
    if (i > -1) fileName = fileName.Remove(i, fileExt.Length);

    Получение имени файла

    sbs, 25 Декабря 2013

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

    +157

    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
    function currSnowCalcPrice(type, square, height){
                var price = false;
                switch (type) {
                  //скатная крыша
                  case 1:
                    switch (true) {
                      case square < 125:
                        price = 'min';
                      break      
                     //0 - 20см 
                      case height < 20:
                            switch (true) {                          
                              case square < 500:
                                    price = 39;
                                break
                              case square < 1000:
                                    price = 34;
                                break
                              case square < 2000:
                                    price = 32;
                                break                            
                              default:
                                price = 0;
                            }
                        break
                      //20 - 30 см  
                      case height < 30:
                            switch (true) {
                              case square < 500:
                                    price = 44;
                                break                        
                              default:
                                price = 39;
                            }
                        break
                      default:
                        price = 0;
                    }
                    break
                  case 2:
                    switch (true) {
                      case square < 250:
                        price = 'min';
                      break                     
                      //0 - 14см   
                      case height < 14:
                            switch (true) {
                              case square < 500:
                                    price = 21.5;
                                break  
                              case square < 4500:
                                    price = 19.5;
                                break  
                              case square < 9500:
                                    price = 17.5;
                                break  
                              case square < 15000:
                                    price = 15.5;
                                break                          
                              default:
                                price = 0;
                            }
                        break
                      //14 - 30 см  
                      case height < 30:
                            switch (true) {
                              case square < 500:
                                    price = 23.5;
                                break  
                              case square < 4500:
                                    price = 21.5;
                                break  
                              case square < 9500:
                                    price = 19.5;
                                break  
                              case square < 15000:
                                    price = 17.5;
                                break                          
                              default:
                                price = 0;
                            }
                        break
                      default:
                        price = 0;
                    }
                    break
                  default:
                    price = false;
                }
                return price;
            }

    Функция возвращает цену за уборку одного метра квадратного поверхности. Есть минимальное количество когда будет возвращено значение min. false или 0 в случае не существующего типа поверхности или значений площади или глубины вне загаданного диапазона.

    AlexP, 25 Декабря 2013

    Комментарии (12)
  5. C++ / Говнокод #14276

    +19

    1. 1
    2. 2
    3. 3
    boost::unordered::unordered_set<const WindowName> _windowNameSet;
    //...
    return (std::find(_windowNameSet.begin(),_windowNameSet.end(), Name) != _windowNameSet.end());

    laMer007, 25 Декабря 2013

    Комментарии (63)
  6. Куча / Говнокод #14275

    +129

    1. 1
    2. 2
    Func = fun(X, Y) -> if X > Y -> true; true -> false end end,
    ...

    Из одного из видеоуроков по Erlang.
    Удивлюсь, как можно было даже в этом языке сделать boolshit...

    tirinox, 25 Декабря 2013

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

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <ul>
      <li data-stage="details"><span>1. Details</span></li>
      <li data-stage="adscreate"><span>2. Creatives</span></li>
      <li data-stage="targets"><span>3. Targeting</span></li>
      <li data-stage="pricing_scheduling" style="width:245px;"><span>4. Pricing &amp; Scheduling</span></li>
      <li data-stage="preview"><span>5. Preview</span></li>
    </ul>

    Ul over Ol!

    wvxvw, 25 Декабря 2013

    Комментарии (1)
  8. PHP / Говнокод #14273

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $proposal['categories'] = explode(',',db_get_field('
                SELECT GROUP_CONCAT(pc.category_id)
                FROM `?:proposal_categories` pc
                INNER JOIN `?:proposal` p ON pc.`proposal_id` = p.`id`
                INNER JOIN `?:proposal_category` pca ON pc.`category_id` = pca.`id`
                WHERE pca.`status` = ?s AND pc.`proposal_id` = ?i
                ORDER BY pca.position', 'A', $proposal['proposal_id']));

    Нашел в собственном коде... вроде безобидно, но забавно.

    Segalp, 25 Декабря 2013

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function hideRequestBySelector(selector, str) {
        var num = $('td:nth-child(2)', selector).text();
        var cur = $('.requests .main-tr-more.' + num);
        var requestSent = $('.requests .send-notice.' + num);
        $(selector).css('background','#ccc');
        $('td:nth-child(1)', selector).html('<img src="/static/v12/img/tr-ok.png" alt="">');
        $(".main-request-action."+ num +" .answers-number.magenta").show();
        var code = "cur." + str + ";requestSent." + str + ";";
        eval(code);                                                                         
    }

    Черномагическое применение jquery-метода к обьекту по селектору

    blessed, 25 Декабря 2013

    Комментарии (0)
  10. PHP / Говнокод #14271

    +156

    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
    class StaticArray { // TO DO: add float, char, double
    private $min = 0;
    private $lengch = 0;
    private $max = 0;
    private $array = array();
    function __construct($lengch,$type) {
    if (!is_numeric($lengch) || $type != 'int'&& $type != 'long'&& $type != 'byte'&& $type != 'short'){  
    echo "BAD ARRRAY TYPE OR LENGCH!\n";
    return false;
    }
    $this->lengch = $lengch;
    switch ($type){
    case 'int':
    $this->min = -2147483647;
    $this->max = 2147483648;
    break;
    case 'byte':
    $this->min = -127;
    $this->max = 128;
    break;
    case 'short':
    $this->min = -32768;
    $this->max = 32767;
    break;
    case 'long':
    $this->min = -9223372036854775808;
    $this->max = 9223372036854775807;
    break;
    }
    for ($i=0;$i < $lengch;$i++){
    $this->array[$i] = 0;
    }
    }
     function add ($vaule,$num){
     if ($vaule >= $this->max || $vaule <= $this->min || !is_numeric($num) || $num < 0 || $num >= $this->lengch){
     echo "Not valid vaule!\n";
     return false;
     }
     $this->array[$num] = $vaule;
    }
     
     function ToNormalArray (){
     return $this->array;
     }
     function get ($num){
     if ($num >= $this->lengch || $num < 0){
     echo "BAD ARRAY INDEX\n";
     return false;
     }
     return $this->array[$num];
     }
     function GetLengch(){
     return $this->lengch; 
    }
    }

    Обнаружил в исходниках одного из сайтов который разрабатывал. Предыдущий кодер действительно этим ползовался! Особенно умиляет метод ToNormalArray().

    zadrot, 25 Декабря 2013

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