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

    +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
    $this->_html .= '<script type="text/javascript">id_language = ' . intval($this->defaultLanguage) . ';</script>';
    		if ($ObjAdvancedTopMenuClass)
    			$haveDepend = AdvancedTopMenuClass::menuHaveDepend($ObjAdvancedTopMenuClass->id);
    		$this->_html .= '<form action="' . $this->base_config_url . '" method="post" id="menuform_' . $this->name . '" name="menuform_' . $this->name . '" method="post" enctype="multipart/form-data" class="width3">
        <div id="blocMenuForm">
            ' . ($ObjAdvancedTopMenuClass ? '<input type="hidden" name="id_menu" value="' . intval($ObjAdvancedTopMenuClass->id) . '" /><br /><a href="' . $this->base_config_url . '"><img src="../img/admin/arrow2.gif" />' . $this->l('Back') . '</a><br class="clear" /><br />' : '');
    		$this->_html .= '<label>' . $this->l('Tab type') . '</label>
           <div class="margin-form"><select name="type" id="type_menu">
              <option value="">' . $this->l('Choose') . '</option>
              <option value="1" ' . ($ObjAdvancedTopMenuClass && $ObjAdvancedTopMenuClass->type == 1 ? 'selected="selected"' : '') . '>' . $this->l('CMS') . '</option>
              <option value="2" ' . ($ObjAdvancedTopMenuClass && $ObjAdvancedTopMenuClass->type == 2 ? 'selected="selected"' : '') . '>' . $this->l('Link') . '</option>
              <option value="3" ' . ($ObjAdvancedTopMenuClass && $ObjAdvancedTopMenuClass->type == 3 ? 'selected="selected"' : '') . '>' . $this->l('Category') . '</option>
               <option value="4" ' . ($ObjAdvancedTopMenuClass && $ObjAdvancedTopMenuClass->type == 4 ? 'selected="selected"' : '') . '>' . $this->l('Manufacturer') . '</option>
              <option value="5" ' . ($ObjAdvancedTopMenuClass && $ObjAdvancedTopMenuClass->type == 5 ? 'selected="selected"' : '') . '>' . $this->l('Supplier') . '</option>
              <option value="6" ' . ($ObjAdvancedTopMenuClass && $ObjAdvancedTopMenuClass->type == 6 ? 'selected="selected"' : '') . '>' . $this->l('Search') . '</option>
              <option value="7" ' . ($ObjAdvancedTopMenuClass && $ObjAdvancedTopMenuClass->type == 7 ? 'selected="selected"' : '') . '>' . $this->l('Only image or icon') . '</option>
           </select></div>';
    		$this->_html .= '<script type="text/javascript">$("#type_menu").change(function() {showMenuType($(this),"menu");});</script>';
    		$this->_html .= '<label>' . $this->l('Menu link not clickable') . '</label>
              <div class="margin-form">
              <input type="checkbox" name="clickable" id="menu_clickable" value="1" ' . ($ObjAdvancedTopMenuClass && $ObjAdvancedTopMenuClass->link [$this->defaultLanguage] == '#' ? ' checked=checked' : '') . '  />
              <small>' . $this->l('Add a # in the link field. Do not remove.') . '</small>
              </div>';
    		$this->_html .= '<script type="text/javascript">$("#menu_clickable").click(function() {setUnclickable($(this));});</script>';
    		if ($ObjAdvancedTopMenuClass && in_array($ObjAdvancedTopMenuClass->type, $this->rebuildable_type)) {
    			$this->_html .= '<label>' . $this->l('Rebuild tree') . '</label>
              <div class="margin-form"><label class="t" for="rebuild_on"><img src="../img/admin/enabled.gif" alt="' . $this->l('Yes') . '" title="' . $this->l('Yes') . '" /></label>
                <input type="radio" name="rebuild" id="rebuild_on" value="1" />
                <label class="t" for="rebuild_on"> ' . $this->l('Yes') . '</label>
                <label class="t" for="rebuild_off"><img src="../img/admin/disabled.gif" alt="' . $this->l('No') . '" title="' . $this->l('No') . '" style="margin-left: 10px;" /></label>
                <input type="radio" name="rebuild" id="rebuild_off" value="0" checked=checked />
                <label class="t" for="rebuild_off"> ' . $this->l('No') . '</label><br />' . $this->l('Caution, this may change the appearance of your menu !') . '</div>';
    		}

    А Smarty стоит рядышком и тихо плачет вместе с программистом.
    Модуль для PrestaShop стоимостью 50 евро.

    in8finity, 19 Мая 2014

    Комментарии (2)
  2. PHP / Говнокод #16015

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //делаем отступ
    echo ' 
    <table border="0" width="100%" cellspacing="0" cellpadding="10">
           <tr>
            <td align="center">&nbsp;<br>&nbsp;</td>
           </tr>
          </table>
    ';

    таким образом делаются отступы ... facepalm

    govnokoder2, 19 Мая 2014

    Комментарии (0)
  3. Java / Говнокод #16014

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    class Matrix {
        ArrayList<ArrayList<Double>> arrayList = new ArrayList<ArrayList<Double>>();
        ...
    }

    Вот такая у нас реализация sparsed-матриц.

    kostoprav, 19 Мая 2014

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

    +15

    1. 1
    2. 2
    3. 3
    int main() {
    //new int;
    FreeConsole();

    LispGovno, 19 Мая 2014

    Комментарии (14)
  5. PHP / Говнокод #16011

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $hostInfo = Yii::app()->getRequest()->getHostInfo();
        	$hostInfo = str_replace('http://', "", $hostInfo);
        	$hostInfo = str_replace('www', "", $hostInfo);
        	$hostInfo = str_replace('sitename', "", $hostInfo);
        	$hostInfo = str_replace('.', "", $hostInfo);
        	$hostInfo = preg_replace('/ru|local/', '', $hostInfo);

    Человек до меня получал поддомен третьего уровня

    TRANE73, 19 Мая 2014

    Комментарии (1)
  6. Java / Говнокод #16010

    +78

    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
    public static String[] Filtr( String[] mas )
    		{
    			for(int i=0;i<mas.length;i++)
    			{
    				if ("А".equals(mas[i])){
    					mas[i] = "а";
    				}
    				if ("Б".equals(mas[i])){
    					mas[i] = "б";
    				}
    				if ("В".equals(mas[i])){
    					mas[i] = "в";
    				}
    				if ("Г".equals(mas[i])){
    					mas[i] = "г";
    				}
    				if ("Д".equals(mas[i])){
    					mas[i] = "д";
    				}
    				if ("Е".equals(mas[i])){
    					mas[i] = "е";
    				}
    				if ("Ё".equals(mas[i])){
    
    
                                    .....//и т.д.
    
    
    	                        if ("Э".equals(mas[i])){
    					mas[i] = "э";
    				}
    				if ("Ю".equals(mas[i])){
    					mas[i] = "ю";
    				}
    				if ("Я".equals(mas[i])){
    					mas[i] = "я";
    				}
    				if ("Й".equals(mas[i])){
    					mas[i] = "й";
    				}
    			}
                            for(int i=0;i<mas.length;i++)
    				{
    				
    					if(
    						(mas[i].equals("а") == false) && 
    						(mas[i].equals("б") == false) && 
    						(mas[i].equals("в") == false) && 
    						(mas[i].equals("г") == false) && 
    						(mas[i].equals("д") == false) && 
    						(mas[i].equals("е") == false) && 
    						(mas[i].equals("ё") == false) && 
    						(mas[i].equals("ж") == false) && 
    						(mas[i].equals("з") == false) &&
    						(mas[i].equals("и") == false) && 
    						(mas[i].equals("к") == false) && 
    						(mas[i].equals("л") == false) && 
    						(mas[i].equals("м") == false) && 
    						(mas[i].equals("н") == false) && 
    						(mas[i].equals("о") == false) && 
    						(mas[i].equals("п") == false) && 
    						(mas[i].equals("р") == false) && 
    						(mas[i].equals("с") == false) && 
    						(mas[i].equals("т") == false) && 
    						(mas[i].equals("у") == false) && 
    						(mas[i].equals("ф") == false) && 
    						(mas[i].equals("х") == false) && 
    						(mas[i].equals("ц") == false) && 
    						(mas[i].equals("ч") == false) && 
    						(mas[i].equals("ш") == false) && 
    						(mas[i].equals("щ") == false) && 
    						(mas[i].equals("э") == false) && 
    						(mas[i].equals("ю") == false) && 
    						(mas[i].equals("я") == false) && 
    						(mas[i].equals("ъ") == false) && 
    						(mas[i].equals("ь") == false) && 
    						(mas[i].equals("ы") == false) && 
    						(mas[i].equals("й") == false) &&
    						(mas[i].equals(" ") == false))
    					{
    						mas = Del(mas, i);
    						i--;
    					}	;
    			for(int k=0;(k+1)<mas.length;k++)
    					{
    						if(mas[k].equals(" ") && mas[k+1].equals(" "))
    						{
    							mas = Del(mas, k);
    							k--;
    						}
    					}
    			}
    			return mas;	
    		}

    lispocoder, 18 Мая 2014

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

    +134

    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
    // Как вы думаете какой вариант кода более правильный?
    using System;
    using System.Linq;
    public class Program {
        public static int Puzzle(string s) {
            return s.Where(x=>x=='a').Count();
        }
    }
    // Или вот этот?
    using System;
    using System.Linq;
    public class Program {
        public static int Puzzle(string s) {
            return s.Count(x=>x=='a');
        }
    }
    //С точки зрения Майкрософт 1-ый вариант лучше

    Майкрософт запустила игру головоломку, каждая из головоломок решается определнным кодом. После - элегантность решения оценивается, весьма неоднозначным способом.
    Подробнее - https://www.codehunt.com/ и статейка на хабре http://habrahabr.ru/post/223173/ . Данная особенность замечена не мной, задачи 2.06 и 2.07

    Zuzik, 18 Мая 2014

    Комментарии (88)
  8. C# / Говнокод #16007

    +132

    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
    public void Check()
    {
    	try
    	{
    		this.Function = "check";
    		this.Params = HttpUtility.UrlEncode((this.Params), Encoding.GetEncoding(1251));
    
    		if ((this.Function.Length > 0) &&
    			(this.PaymExtId.Length > 0) &&
    			(this.PaymSubjTp.ToString().Length > 0) &&
    			(this.Amount.ToString().Length > 0) &&
    			(this.Params.Length > 0) &&
    			(this.TermType.Length > 0) &&
    			(this.TermId.Length > 0) &&
    			(this.FeeSum.ToString().Length > 0))
    		{
    			this.Request = string.Format("function={0}&PaymExtId={1}&PaymSubjTp={2}&Amount={3}&Params={4}&TermType={5}&TermID={6}&FeeSum={7}",
    										 this.Function, this.PaymExtId, this.PaymSubjTp.ToString(), this.Amount.ToString(), this.Params, this.TermType, this.TermId, this.FeeSum.ToString());
    			SendRequest();
    		}
    		else
    		{
    			GetError("-1");
    		}                
    	}
    	catch
    	{
    		GetError("-9");
    	}
    }

    Оттуда же. Тип полей PaymSubjTp, Amount, FeeSum - int, всех остальных - string.
    Amount.ToString().Length > 0 и т.п. всегда true, а вот ноль или отрицательное значение спокойно пропустят.
    Интересно, разработчики хоть знают, что функции умеют принимать и возвращать данные? :)

    yamamoto, 18 Мая 2014

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

    +158

    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
    if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==1 && document.form.shag_profilya.value==1)
         { 
         P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
    	 Obrezki=Math.ceil(S*1.44*0.10/3);
         document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
         document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3+Obrezki);
         document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
    	 document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
         }
      else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==1 && document.form.shag_profilya.value==2)
         { 
         P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
    	 Obrezki=Math.ceil(S*1.44*0.10/3);
         document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
         document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3+Obrezki);
         document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
    	 document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
    	    }
      else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==1)
      {
              P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
         document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
         document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3);
    	 document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
    	document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*1.01);
    	    }
      else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==2)
      {
              P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
         document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
         document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3);
    	 document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
    	document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0.8);
    	    }
      else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==3 && document.form.shag_profilya.value==1)
      {
              P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
         document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
         document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3);
         document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
    	 document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
    	    }
      else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==2 && document.form.varianty_ustanovki_peremychek.value==1 && document.form.shag_profilya.value==1)
      {
              P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
    	 Obrezki=Math.ceil(S*1.44*0.10/4);
    		  document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
              document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4+Obrezki); 
    	 document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
    	document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
    	    }
      else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==2 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==1)
      {
              P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
    		  document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
              document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4); 
    	 document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
    	document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*1.01);
    	    }
      else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==2 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==2)
      {
              P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
    		  document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
              document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4); 
    	 document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
    	document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0.8);
    	    }
      else {
              P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
    		  document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
              document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4); 
    	 document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
    	document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
    	    };

    Про переменные явно автор не слышал...

    cyber_ua, 17 Мая 2014

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

    +135

    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
    private void SendRequest()
    {
    	try
    	{
    		HttpWebRequest HTTPRequest;
    
    		try
    		{                    
    			HTTPRequest = (HttpWebRequest)WebRequest.Create(this.Host + this.Request);
    			HTTPRequest.ClientCertificates.Add(this.certificate);                    
    		}
    		catch
    		{
    			throw new Exception("-2");
    		}
    
    		try
    		{
    			HttpWebResponse response = (HttpWebResponse)HTTPRequest.GetResponse();
    			Stream stream = response.GetResponseStream();
    			TextReader xml = new StreamReader(stream, Encoding.GetEncoding(1251));
    
    			this.Response = xml.ReadToEnd();
    			stream.Close();
    			response.Close();
    		}
    		catch
    		{
    			throw new Exception("-3");
    		}
    
    		GetError("0");
    	}
    	catch (Exception ex)
    	{
    		GetError(ex.Message);
    		this.Response = "ОШИБКА!";
    	}
    }

    Оттуда же. Круговорот исключений в природе.

    yamamoto, 17 Мая 2014

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