1. Java / Говнокод #4587

    +145

    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
    /**
         * Returns an array of all the objects currently registered
         * as <code><em>Foo</em>Listener</code>s
         * upon this <code>Component</code>.
         * <code><em>Foo</em>Listener</code>s are registered using the
         * <code>add<em>Foo</em>Listener</code> method.
         *
         * <p>
         * You can specify the <code>listenerType</code> argument
         * with a class literal, such as
         * <code><em>Foo</em>Listener.class</code>.
         * For example, you can query a
         * <code>Component</code> <code>c</code>
         * for its mouse listeners with the following code:
         *
         * <pre>MouseListener[] mls = (MouseListener[])(c.getListeners(MouseListener.class));</pre>
         *
         * If no such listeners exist, this method returns an empty array.
         *
         * @param listenerType the type of listeners requested; this parameter
         *          should specify an interface that descends from
         *          <code>java.util.EventListener</code>
         * @return an array of all objects registered as
         *          <code><em>Foo</em>Listener</code>s on this component,
         *          or an empty array if no such listeners have been added
         * @exception ClassCastException if <code>listenerType</code>
         *          doesn't specify a class or interface that implements
         *          <code>java.util.EventListener</code>
         *
         * @see #getComponentListeners
         * @see #getFocusListeners
         * @see #getHierarchyListeners
         * @see #getHierarchyBoundsListeners
         * @see #getKeyListeners
         * @see #getMouseListeners
         * @see #getMouseMotionListeners
         * @see #getMouseWheelListeners
         * @see #getInputMethodListeners
         * @see #getPropertyChangeListeners
         *
         * @since 1.3
         */
        public <T extends EventListener> T[] getListeners(Class<T> listenerType) { 
            EventListener l = null; 
            if  (listenerType == ComponentListener.class) { 
                l = componentListener;
            } else if (listenerType == FocusListener.class) {
                l = focusListener;
            } else if (listenerType == HierarchyListener.class) {
                l = hierarchyListener;
            } else if (listenerType == HierarchyBoundsListener.class) {
                l = hierarchyBoundsListener;
            } else if (listenerType == KeyListener.class) {
                l = keyListener;
            } else if (listenerType == MouseListener.class) {
                l = mouseListener;
            } else if (listenerType == MouseMotionListener.class) {
                l = mouseMotionListener; 
            } else if (listenerType == MouseWheelListener.class) {
                l = mouseWheelListener; 
            } else if (listenerType == InputMethodListener.class) {
                l = inputMethodListener; 
            } else if (listenerType == PropertyChangeListener.class) {
                return (T[])getPropertyChangeListeners();
            }
            return AWTEventMulticaster.getListeners(l, listenerType);
        }

    как вы думаете, что это? внутренности Java
    java.awt.Component

    Lure Of Chaos, 11 Ноября 2010

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    function goToURL() { //v3.0
      var i, args=goToURL.arguments; document.returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
    }

    ну вы понели

    GoodTalkBot, 11 Ноября 2010

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

    −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
    if( !ruleWithLongName1 )
    {
    	return;
    }
    if( !ruleWithLongName2 )
    {
    	return;
    }
    if( !ruleWithLongName3 )
    {
    	return;
    }
    if( !ruleWithLongName4 )
    {
    	return;
    }
    if( !ruleWithLongName5 )
    {
    	return;
    }

    клевый кусочек (повторяется в нескольких функциях) имена условий изменены, но скажу что они не Boolean типа

    Werdn, 11 Ноября 2010

    Комментарии (4)
  4. Java / Говнокод #4584

    +77

    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
    JavaServer Faces 1.2, Facelets, страница .xhtml:
    
        <p:nbsp/>
    
    Что является вызовом facelet-тага, ссылающегося на другой (НEвалидный) .xhtml-файл:
    
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <ui:component xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets">
            <h:outputText escape="false" value="&amp;nbsp;" />
        </ui:component>
    
    Это, типа, способ вставить &nbsp; на страницу. Вместо того, что бы просто написать &nbsp; где это нужно. 
    А что бы это работало в xhtml-нике, нужно всего лишь поставить правильный DOCTYPE вначале 
    документа.

    yvu, 11 Ноября 2010

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

    +169

    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
    /**
         * Retrieve minimum query length
         *
         * @deprecated after 1.3.2.3 use getMinQueryLength() instead
         * @return int
         */
        public function getMinQueryLenght()
        {
            return Mage::getStoreConfig(self::XML_PATH_MIN_QUERY_LENGTH, $this->getStoreId());
        }
    
        /**
         * Retrieve minimum query length
         *
         * @return int
         */
        public function getMinQueryLength(){
            return $this->getMinQueryLenght();
        }

    Интересный подход к орфографическим ошибкам :)

    vo1, 11 Ноября 2010

    Комментарии (13)
  6. PHP / Говнокод #4582

    +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
    function ajaxGetProcesses()
    {
    	$db = $this->site->DB;
    
    	$res = array();
    
    	$_POST['title'] = iconv('UTF-8', 'WINDOWS-1251', $_POST['title']);
    
    	if (!empty($_POST['title']))
    	{
    		$query = 'SELECT * FROM '.$this->site->prefix_db.'_processes_alters WHERE `title` LIKE \''.addcslashes($_POST['title'], '\'').'%\' LIMIT 10';
    		$db->query($query);
    		while ($i = $db->fetch())
    		{
    			$res[] = '"'.addcslashes($i['title'], '"').'"';
    		}
    	}
    	// кто ж виноват, что в середине 2010 года все еще приходится писать на пхп4 :-(
    	// json отсутствует, библиотеку подключать - жопа - не та сложность вывода
    	echo '['.implode(', ', $res).']';
    	exit();
    }

    netrain, 11 Ноября 2010

    Комментарии (45)
  7. Python / Говнокод #4581

    −171

    1. 1
    ms = decode_mail_headers(decodeUnknown(message.get_charset(), message.get('Subject', 'Created from e-mail'))).replace("Re: ", "").replace("Fwd: ","").replace("Fw: ", "").rep    lace("RE: ", "").replace("FW: ", "").strip()

    Веселые программисты не знают регэкспов в питоне.

    DiSH, 11 Ноября 2010

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

    −155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function requiredVersion(required) 
    { 
      version = getVersionNumber();
      if (version.nl < required.nl) return(false);
      if (version.nl > required.nl) return(true);
      if (version.n2 < required.n2) return (false);
      if (version.n2 > required.n2) return (true);
      if (version.n3 < required.n3) return (false); 
      if (version.n3 > required.n3) return (true);
      if (version.n4 < required.n4) return (false); 
      if (version.n4 >= required.n4) return (true);
    }

    psina-from-ua, 10 Ноября 2010

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

    +172

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    void Logger::LogString( std::string &s )
    {
    	if (s.size() > 4096) {
    		// предотвращаем слишком длиные строки в логе.
    		s.resize( 4096 );
    	}
    	m_LogStream << LogMessagePrefix() << s << std::endl;
    }

    народ пару дней понадобилось найти почему XML сообщения, размером слегка больше обычного, Xerces не принимает. идеи иссякли - пока в лог не посмотрели и не нашли вот по такому (проиллюстрированому выше) чудо принципу работающий логгер.

    Dummy00001, 10 Ноября 2010

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

    +167

    1. 1
    $email = isset( $_REQUEST['email'] ) ? intval( $_REQUEST['email'] ) : false;

    а потом удивляются - почему это имейл в базу пишется пустой

    elw00d, 10 Ноября 2010

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