1. 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)
  2. 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)
  3. Куча / Говнокод #14275

    +129

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

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

    tirinox, 25 Декабря 2013

    Комментарии (49)
  4. Куча / Говнокод #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)
  5. 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)
  6. 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)
  7. 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)
  8. C++ / Говнокод #14270

    +9

    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
    /** фрагмент 0 */ 
    buff[symbols]=0;
    printf ("%s\n",buff);	 
    
    if (strcmp (buff,"Yes!") != 0)
        exit (1);
    
    strcpy (buff,"");	  
    sprintf (buff,"%s","File_size?");
    printf ("%s\n",buff);
    
    /** фрагмент 1 */ 
    Par2 = 0;
    		  if (number_packet < 10)
    			  Par2 = 1;
    		  else
    			  if (number_packet < 100)
    			    Par2 = 2;
    			  else
    				  if (number_packet < 1000)
    			        Par2 = 3;
    				  else
    					  if (number_packet < 10000)
    			             Par2 = 4;
    					  else
    						  if (number_packet < 100000)
    			                 Par2 = 5;
    						  else
    							  if (number_packet < 1000000)
    			                     Par2 = 6;
    							  else
    								  if (number_packet < 10000000)
    			                        Par2 = 7;
    		  Par2++;

    2 фрагмента лабораторной работы

    dannikonov, 24 Декабря 2013

    Комментарии (40)
  9. C++ / Говнокод #14269

    +15

    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
    static std::vector<std::string> listSubstring(std::string stringData, std::string separator)
    {
    	std::vector<std::string> result;
    	std::size_t found = stringData.find(separator);
    	if (found==std::string::npos)
    	{
    		result.push_back(stringData);
    		return result;
    	}
    	result.push_back(stringData.substr(0,found));
    	std::vector<std::string> ko=listSubstring(found+separator.length(),separator);
    	for (std::vector<std::string>::iterator i = ko.begin(); i != ko.end(); ++i)
    		{result.push_back(*i);}
    	return result;
    
    }

    laMer007, 24 Декабря 2013

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

    +159

    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
    var a, vr, curq;
    function bgbuild(num1){document.write("<head><title>Річне тематичне оцінювання з астрономії</title><meta http-equiv=\"Content-Type\" content=\"text/html\" charset=unicode\"></head><body bgcolor=#8080ff><img src='library/bgrnd.jpg' height=100% width=100% style='z-index:",num1,";position:absolute;top:0;left:0;right:0;bottom:0'>")};
    function fio(){document.write("<form><input type=\"text\" name=\"pib\" style='z-index:4;position:relative;top:0;left:0;font:normal 15px Lucida Console;'>")};
    function capt(qustn){document.write("<div style='z-index:3;text-align:justify;position:absolute;top:30;left:30;font:normal 30px System;color:black'>",qustn,"</div>")};
    function fld(){document.write("<textarea name=answ rows=30 cols=90 style='z-index:4;position:absolute;top:160;left:30;font:normal 15px Lucida Console;'></textarea>")};
    function kg(qst){document.write("<input style=\"z-index:6;position:absolute;top:0;right:0\" type=\"button\" value=\"Наступне питання\" onclick=\"return q",qst,"()\">")};
    function registr(){document.write("<input type=\"button\" onclick=\"return crfol()\" value=\"Реєстрація\"></form>")};
    function cnctscr(){document.write("<script lang=\"Javascript\" src=\"library/cobuild.js\"></script>");};
    function svr(vr){var fs, b;
    fs = new ActiveXObject("Scripting.FileSystemObject");
    b = fs.OpenTextFile("C:\\variant.tmp", 2, true, true);
    b.write(vr);
    b.close();
    };
    function gvr(){var fs, b;
    fs = new ActiveXObject("Scripting.FileSystemObject");
    b = fs.OpenTextFile("C:\\variant.tmp", 1, true, true);
    vr = b.readall();
    b.close();
    };
    function start(){
    bgbuild(0);
    document.write("<div style='z-index:1;position:absolute;top:30;left:30;right:30;font:normal 25px System;color:black;text-align:justify'>Ви маєте можливість пройти річне тематичне оцінювання з астрономії. Буде запропоновано 6 варіантів по 15 питань різної складності кожний. Ваші відповіді перевіряє вчитель, але приблизно оцінити себе Ви можете самі, ознайомившись після проходження опитування із правильною відповіддю і оцінивши вірність своєї відповіді. Не намагайтесь втрутитись у хід опитування і підкорегувати свої відповіді, адже це може скінчитися порушенням ходу програми, яке призведе до її неповного проходження, а в результаті - нижчої оцінки. Файл із Вашою відповіддю збережеться у спеціальному місці.<br>Для початку введіть своє прізвище та ім'я (не використовуйте ніяких спецсимволів!):<br>");
    fio();
    registr();
    document.write("<br>Оберіть варіант:<br><table><tr><td><form><input type='button' value='1' onclick='svr(1);return q1()'></td><td><input type='button' onclick='svr(2);return q1()' value='2'></td><td><input type='button' onclick='svr(3);return q1()' value='3'></td><td><input type='button' onclick='svr(4);return q1()' value='4'></td><td><input type='button' onclick='svr(5);return q1()' value='5'></td><td><input type='button' onclick='svr(6);return q1()' value='6'></td></form></div>");};
    function crfol(){var fs, n, b;
    fs = new ActiveXObject("Scripting.FileSystemObject");
    n = document.all.pib.value;
    if(n==""){er()};
    nm = "answ/"+n+".dat";
    a = fs.OpenTextFile(nm, 2, true, true);
    a.writeline("Це не підробка, це справжній файл із відповідями!\rУчень: "+n+"\rВаріант: ");
    a.close();
    b = fs.OpenTextFile("C:\\username.tmp", 2, true, true);
    b.write(n);
    b.close();
    }
    function crf(dt){var fs, n, b, nm;
    fs = new ActiveXObject("Scripting.FileSystemObject");
    b = fs.OpenTextFile("C:\\username.tmp", 1, true, true);
    n = b.readall();
    b.close();
    nm = "answ/"+n+".dat";
    a = fs.OpenTextFile(nm, 8, true, true);
    a.writeline(dt);
    a.close();
    }
    function er(){alert("Ану не балуйся! Думаєш, ти розумніше за комп'ютер?!");window.close();}
    function q1(){
    try{
    gvr();
    crf(vr);
    bgbuild(0);
    cnctscr();
    };catch(e){er()};
    if (vr=="1"){curq = "1.1.1. Що вивчає астрономія?"};
    if (vr=="2"){curq = "1.1.2. Що означає слово \"астрономія\"?"};
    if (vr=="3"){curq = "1.1.9. Що таке астрологія?"};
    if (vr=="4"){curq = "1.1.12. Назвіть прізвища відомих вам астрономів минулих часів."};
    if (vr=="5"){curq = "1.1.13. Назвіть небесні тіла, що утворюють Сонячну систему."};
    if (vr=="6"){curq = "2.1.1. Що означає слово \"космос\"?"};
    capt(curq);
    crf(curq);
    fld();
    
    kg(2);
    }
    
    start();

    Короче, первый мой более-менее крупный высер на JS. Писал HTA-приложение для школы (тестирование по астрономии). Интернета у меня тогда ещё не было, компилятор чего-либо нормального взять, соответственно, было негде, поэтому писал на чём можно. JS (точнее, JScript) изучал по справке MSE7 (недо-IDE, которая поставляется с M$Office). Результат немного предсказуем, многие части кода - модифицированные примеры тамошние. Вбрасываю основную либу (там ещё дополнительная, с вхардкоженными вопросами и несколькими функциями, и HTA-оболочка). Остальное будет по просьбам:3

    //Я в этот код даже не заглядываю, боюсь суицидальных приступов от осознания того, что я это написал *HEADBANG*

    MiniRoboDancer, 24 Декабря 2013

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