1. Perl / Говнокод #2059

    −104.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ($i > $#files) {
            $pusto = 0; #Это значит пусто
    } else {
            $pusto = 1;
    }

    Нашёл в своем давнешнем коде.
    $pusto = 0; #Это значит пусто
    Логика рулит.

    Oleg_quadro, 27 Октября 2009

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

    +156.3

    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
    final class HelperCurrency {
      
      	public function format($number, $currency = '', $value = '', $format = TRUE) {
    		/*** .... some code .... ***/
        	if ($value) {
          		$value = $value;
        	} else {
          		$value = $this->currencies[$currency]['value'];
        	}
    
        	if ($value) {
          		$value = $number * $value;
        	} else {
          		$value = $number;
        	}
    
    		/*** .... some code .... ***/
    		
    		if ($format) {
    			$decimal_point = $this->language->get('decimal_point');
    		} else {
    			$decimal_point = '.';
    		}
    		
    		if ($format) {
    			$thousand_point = $this->language->get('thousand_point');
    		} else {
    			$thousand_point = '';
    		}
    
    		/*** .... some code .... ***/
      	}
    }

    класика от OpenCart v. 1.3.2

    Under, 27 Октября 2009

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

    +158.2

    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
    // Находим две ближайшие станицы с обоих краев, если они есть
    if($page - 5 > 0) $page5left = ' <a href=adm.php?'.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
    if($page - 4 > 0) $page4left = ' <a href=adm.php?'.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
    if($page - 3 > 0) $page3left = ' <a href=adm.php?'.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
    if($page - 2 > 0) $page2left = ' <a href=adm.php?'.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
    if($page - 1 > 0) $page1left = '<a href=adm.php?'.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
    
    if($page + 5 <= $total) $page5right = ' | <a href=adm.php?'.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
    if($page + 4 <= $total) $page4right = ' | <a href=adm.php?'.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
    if($page + 3 <= $total) $page3right = ' | <a href=adm.php?'.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
    if($page + 2 <= $total) $page2right = ' | <a href=adm.php?'.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
    if($page + 1 <= $total) $page1right = ' | <a href=adm.php?'.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
    
    // Вывод меню если страниц больше одной
    
    if ($total > 1)
    {
    Error_Reporting(E_ALL & ~E_NOTICE);
    echo "<div class=\"pstrnav\">";
    echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
    echo "</div>";
    }

    Типа постраничный вывод сообщений...

    Cr@ZyBoY, 27 Октября 2009

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

    +160

    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
    <?  switch ($passoAttivo) {
                        case 1:
                            ?>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo1_attivo.gif" alt="Passo 1 attivo" width="56" height="52"></td>
                                        <td width="9%"><img src="<?=base_url()?>/images/passi/passo2.gif" alt="Passo 2" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo3.gif" alt="Passo 3" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo4.gif" alt="Passo 4" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo5.gif" alt="Passo 5" width="57" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo6.gif" alt="Passo 6" width="57" height="52"></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><div align="left"><img src="<?=base_url()?>/images/passi/passo7.gif" alt="Passo 7" width="57" height="52"></div></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo8.gif" alt="Passo 8" width="56" height="52"></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo9.gif" alt="Passo 9" width="56" height="52"></td>
                                    <td width="45%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo10.gif" alt="Passo 10" width="56" height="52"></td>
                                    
                            <?
                            break;
                        case 2:
                            ?>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo1.gif" alt="Passo 1" width="56" height="52"></td>
                                        <td width="9%"><img src="<?=base_url()?>/images/passi/passo2_attivo.gif" alt="Passo 2 attivo" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo3.gif" alt="Passo 3" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo4.gif" alt="Passo 4" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo5.gif" alt="Passo 5" width="57" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo6.gif" alt="Passo 6" width="57" height="52"></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><div align="left"><img src="<?=base_url()?>/images/passi/passo7.gif" alt="Passo 7" width="57" height="52"></div></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo8.gif" alt="Passo 8" width="56" height="52"></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo9.gif" alt="Passo 9" width="56" height="52"></td>
                                    <td width="28%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo10.gif" alt="Passo 10" width="56" height="52"></td>
                            <?
                            break;
    // ....
    // И так всего десять веток.

    Реализация подсветки активного пункта меню, в индусском стиле в исполнении итальянского php-хакера.

    voice, 27 Октября 2009

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

    +132.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
    public string removeSpecialCharacters(string orig) {
                string rv;
    
                rv = orig.Replace("\\", " ");
                rv = rv.Replace("(", " ");
                rv = rv.Replace(")", " ");
                rv = rv.Replace("/", " ");
                rv = rv.Replace("-", " ");
                rv = rv.Replace(",", " ");
                rv = rv.Replace(">", " ");
                rv = rv.Replace("<", " ");
                rv = rv.Replace("-", " ");
                rv = rv.Replace("&", " ");
    
                rv = rv.Replace("'", "");
    
                rv = rv.Replace("\u2019", ""); // smart forward (possessive) quote.
    
                rv = rv.Replace(" ", "");
    
                rv = rv.Trim(' '); // Remove leading and trailing spaces.
    
                return (rv);
            }

    fade, 27 Октября 2009

    Комментарии (19)
  6. SQL / Говнокод #2054

    −867

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    -- PL SQL code
    function quote(s varchar2)return varchar2 is 
    begin
             return replace(s,'''','''''');
    end;

    ох уж эти ковычки ...

    dim1r, 27 Октября 2009

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

    −164.9

    1. 1
    ORA-600 [12235]: Oracle process has no purpose in life!

    Даже Оракл знает что такое смысл жизни

    dim1r, 27 Октября 2009

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

    −432.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (currentPage == "3") {
    	//trace("CUUUUUUURRRRRRREEEENNNNNTTTT PPPAAAAGGGGGGGGGEEEEEE", currentPage,currentQuestionVideo);
    	ns.play(currentQuestionVideo);
    }else {
    	//trace("ПИЗДАБЛЯТЬ!")
    	var str:String = ""+subSectionsXML.DOCUMENT[currentSubPage].FILE_1;
    	ns.play(str);
    }

    Мне дали AS3-сайт для его локализации и сказали, что код документирован.
    Комментарии оказались только в виде trace'ов :)

    mustafin, 27 Октября 2009

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

    +66.8

    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
    // Найдено глубоко в продакшн-коде некоего транслятора:
    HRESULT hr = S_OK;
    try {
          hr = ParseSection(sourceTemplate, output, CS_IF);
    }
    CATCH_CG_EXCEPTION(this, hr)
    CATCH_CG_EXCEPTION_END
    
    // далее смотрим определения этих чудо-макросов
    #define CATCH_CG_EXCEPTION(gen, hr) \
    catch (CHierCGException* e)  { \
         (gen)->WriteExceptionMessage(e); \
         if (e->m_bContinue) { \
                if (e->m_useHRESULT) hr = e->m_hResult; else hr = E_FAIL; \
         } \
         delete e; \
         if (!(e->m_bContinue))
    
    #define CATCH_CG_EXCEPTION_END \
          throw; \
    }

    Исключительно говнистая обработка исключений :-)

    Orfest, 27 Октября 2009

    Комментарии (9)
  10. Java / Говнокод #2050

    +77.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // Год и месяц редактируются как Double, а хранятся в  базе как два инта
                    if (aValue == null) {
                        current.setStartMonth(0);
                        current.setStartMonth(0);
                    } else {
                        current.setStartMonth(Integer.parseInt(aValue.toString().split(".")[0]));
                        current.setStartMonth(Integer.parseInt(aValue.toString().split(".")[1]));
                    }

    Программисты клиента и базы стоят один другого

    Jk, 27 Октября 2009

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