1. ActionScript / Говнокод #6691

    −112

    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
    private function getListenerIndex(func:Function):Number
    {
    	var num:Number = -1;
    	
    	for(var i:int = 0; i < mouseWheelListeners.length; i++)
    	{
    		if(func == mouseWheelListeners[i])
    		{
    			num = i;
    			break;
    		}
    			
    	}
    	return num;
    }
    
    public function addMouseWheelListener(subscriberFunc:Function):void
    {
    	if(getListenerIndex(subscriberFunc) == -1)
    		mouseWheelListeners.push(subscriberFunc);
    }

    Отдельного внимания заслуживает тот факт, что человек решил, что индексов в массиве не будет больше чем максимальное цело 32-битное знаковое, и не меньше чем минимальное, а вернул все равно Number. (Для не разбирающихся в AS3 есть Array.indexOf(), метод который делает то, что делает getListenerIndex() в данном примере, только быстрее, и называется по-человечески. Но автор считает, что мануал написан для идиотов...)

    wvxvw, 17 Мая 2011

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

    +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
    const
       ACTON_MAP_DROP = 0,
       ACTON_BOT_DROP = 1,
       ACTON_CHANGE = 2,
       ACTON_USE = 3,
       ACTON_AUTO_USE = 4,
       ACTON_EXPIRE = 5,
       ACTON_MINE_DESTROY = 6,
       ACTON_GET = 0,
       ACTION_OFFLINE = 1,
       ACTION_DIE = 2,
       ACTION_USE = 3,
       ACTON_EXPIRE = 4;

    Радует, что в 3-х константах слово написано правильно. :)

    PaintedBlack, 17 Мая 2011

    Комментарии (40)
  3. Pascal / Говнокод #6689

    +107

    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
    function HexToInt(s: string): integer;
    label
      gte;
    var
      tempt: string;
      i: integer;
    begin
      tempt := '';
      if s = '' then
      begin
        HexToInt := 0;
        goto gte;
      end;
      for i := 1 to Length(s) do
      begin
        tempt := tempt + IntToHex(Ord(s[i]), 2);
      end;
      HexToInt := StrToInt('$' + tempt);
      gte:
    end;

    Ряд гениальных решений из-за незнания особенностей языка.

    Честно взято с: http://www.delphisources.ru/pages/faq/base/hex_to_int.html
    Честно написано автором: Перегинец Иваном ( [email protected] )

    miLord-Corwin, 17 Мая 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    public boolean intersects(final Range range) {
          return (((range.indexFrom >= this.indexFrom) ? range.indexFrom : this.indexFrom) <=
            ((range.indexTo <= this.indexTo) ? range.indexTo : this.indexTo));
        }

    проверка пересечения двух диапазонов

    Lure Of Chaos, 17 Мая 2011

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

    +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
    <?php
    switch($_GET['action']){
    // ...
    /**
     * Обработка формы редактирования выпусков рассылок.
     * Практически полностью состоит из кастылей, потому ОООЧЕНЬ кривая !!
     */
    case 'add_atach':
        //Удаление атачей, (почему стоит выше, уже не помню, возможно косяк)
        if(isset($_POST['atach_del'])){
            foreach($_POST['atach_del'] as $value){
                 $atach_del_id=(int)$value;
                 $ata_del_rez=$db->Query("SELECT atach_file FROM atach WHERE atach_id='$atach_del_id'");
                 $ata_del_arr=mysql_fetch_array($ata_del_rez);
    // ...
    }
    // ...
    //не работающий блок как всегда, разработка заглохла
    if($div_table_add==''){
    // ...
    }
    // ...
    //собираем всё в кучку
    ?> 
    <table style="background-color:#EFEFDE; border-top-width: 2px; border-right-width: 2px;>...</table>
    <?php
    die();
    break;
    }
    }
    ?>

    А что тут добавить?.. Все предельно доступно описано в комментариях к коду. (С кавычками мог напутать, в этой мешанине даже редактор с подсветкой синтаксиса не помогает)

    Mervin, 17 Мая 2011

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

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    /* CSS */
    .module-blk dd a strong {
        font-weight: normal;
    }

    ploginoff, 17 Мая 2011

    Комментарии (25)
  7. Java / Говнокод #6685

    +83

    1. 1
    2. 2
    Float.parseFloat(obj.getPrice() + ""));
    // int obj.getPrice()

    int to float

    dshulgin, 17 Мая 2011

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

    +128

    1. 1
    long.Parse(Convert.ToString(Convert.ToSingle(Item.Value.ToString())))

    wiz, 17 Мая 2011

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

    +79

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    Object sync;
    
    try {
        synchronized (sync){
            sync.wait();
        }
    } catch (NullPointerException npe){
        sync = new Object();
        synchronized (sync){
            sync.wait();
        }
    }

    Вот так чел пытался избежать "ненужного" создания объекта-монитора. Память экономил...

    Skipy, 17 Мая 2011

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

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    NNLayer::~NNLayer()
    {
    	// call Initialize(); makes sense if you think
    	
    	Initialize();
    }

    Отсюда: http://www.codeproject.com/KB/library/NeuralNetRecognition.aspx

    eigenein, 16 Мая 2011

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