1. C++ / Говнокод #1862

    +51.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private: System::Void button2_MouseHover(System::Object^  sender, System::EventArgs^  e) {
    				 int x = rand() % 428-75; //минусуем ширину кнопки, посчитать впадлу
    				 int y = rand() % 301-23; // - высоту
    				 this->button2->Location::set(System::Drawing::Point(x,y));
    			 }
    	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {						
    				 MessageBox::Show("Мы так и считали", "=)", MessageBoxButtons::OK, MessageBoxIcon::Asterisk);
    			 }

    лень

    ChakuZa, 17 Сентября 2009

    Комментарии (13)
  2. ActionScript / Говнокод #1861

    −90.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
    function getActiveRoot():int
    {
    	for(var c:int=0;c<i;c++) if(r_arr[c].isActive) return c;
    	return -1;
    }
    
    
    
    
    
    public function addEntry():void
    {
    	if(getActiveRoot()<0)
    	{
    		r_arr.push(new Roots(i,in_txt.text,""));
    		r_arr[i].addEventListener(MouseEvent.MOUSE_DOWN, downHandler);
    		r_arr[i].addEventListener(MouseEvent.MOUSE_UP, upHandler);
    				
    		addChild(r_arr[i++]);
    	}
    	else
    	{
    	        r_arr[getActiveRoot()].w_arr.push(new Words(getActiveRoot(),r_arr[getActiveRoot()].wi,in_txt.text,""));
    		r_arr[getActiveRoot()].w_arr[r_arr[getActiveRoot()].wi].addEventListener(MouseEvent.MOUSE_DOWN, WdownHandler);
    		r_arr[getActiveRoot()].w_arr[r_arr[getActiveRoot()].wi].addEventListener(MouseEvent.MOUSE_UP, WupHandler);
    				
    		var ls:Shape=new Shape();
    		ls.graphics.lineStyle(1, 0xFF0000,0.2);
    		ls.graphics.moveTo(r_arr[getActiveRoot()].x,r_arr[getActiveRoot()].y);
    	        ls.graphics.lineTo(r_arr[getActiveRoot()].w_arr[r_arr[getActiveRoot()].wi].x,r_arr[getActiveRoot()].w_arr[r_arr[getActiveRoot()].wi].y);
    		addChildAt(ls,++wd);
    		addChildAt(r_arr[getActiveRoot()].w_arr[r_arr[getActiveRoot()].wi++],++wd);
    	}
    }

    Ой. А давайте проц погоняем! Чтоб не скучал. Отовсюду будем запускать getActiveRoot() чтобы узнать индекс! Ха-ха-ха..

    t8apb, 17 Сентября 2009

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

    −91.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
    function upHandler(event:MouseEvent):void 
    {
            //r_arr[event.currentTarget.index].stopDrag();
    				
    	event.currentTarget.stopDrag();
    				
            //r_arr[event.currentTarget.index].removeChildAt(2);
    
    	if((r_arr[event.currentTarget.index].x>550)||(r_arr[event.currentTarget.index].x<160)||(r_arr[event.currentTarget.index].y>400)||(r_arr[event.currentTarget.index].y<0))
    	{
    	        r_arr[event.currentTarget.index].x=546;
    		r_arr[event.currentTarget.index].y=(r_arr[event.currentTarget.index].index+1)*30;
    	}
    }

    Сама семантика малопримечательна. Вся соль в способе адресации к объекту массива r_arr при совершении события мыши прямо над этим же объектом. Методы и свойства объекта достаются через ***у по индексу из-за пазухи: r_arr[event.currentTarget.index].removeChildAt(2)
    вместо достаточного: event.currentTarget.removeChildAt(2)

    t8apb, 17 Сентября 2009

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

    +132.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    cboRole.DataSource = Controller.GetViewForRole();
    cboRole.DataBind();
    
    try {
       cboRole.SelectedValue = roleId.ToString();
    } catch (ArgumentOutOfRangeException) {
       cboRole.Items.Add(new ListItem(roleName, roleId.ToString()));
       cboRole.SelectedValue = roleId.ToString();
    }

    Нету значения - не проблема, создадим и присвоим. Не беда, что инициализация рядом...

    batonkolbas, 17 Сентября 2009

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

    +59.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    void someMethod(const std::string& name,  std::autp_ptr<SomeClass> p);
    
    {
        ...
        std::auto_ptr<SomeClass> p(new SomeClass());
        someMethod(p->GetName(), p);
        ...
    }

    Самое забавное, что при определенных условиях оно может работать.

    Lexey, 17 Сентября 2009

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

    +71.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (!selectAndAdd(select, administrators,
                                        userUid)) //shouldn't be so but...
                                {
                                    throw new IllegalStateException(
                                            "World is full of mystical things. That is one of them");
                                }

    Мир полон таинственных вещей! :-)

    sweetshadow, 17 Сентября 2009

    Комментарии (8)
  7. PHP / Говнокод #1856

    +160.6

    1. 1
    2. 2
    3. 3
    $query=mysql_query("SELECT * FROM `PS_card_list` WHERE `id_categ`='".$_GET['point']."';");
    
    while ($row=mysql_fetch_array($query)) $card_on_plan++;

    Наследие военных разработчиков

    vectart, 17 Сентября 2009

    Комментарии (7)
  8. JavaScript / Говнокод #1855

    +162.5

    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
    //было:
    
      if(this.focusCount == this.blurCount + 1)
       {
         this.counter++;
       }
    
    //стало:
    
       if(this.focusCount == this.blurCount + 1)
       {
         this.counter++;
       }
       else this.counter++;

    Надо было из функции убрать проверку условия.

    psychos, 17 Сентября 2009

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

    −91.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    sub inet_aton{
      my $n_ip;
      $sth1 = $dbh->prepare("SELECT inet_aton(\"$_[0]\") as inet_aton");
      $sth1->execute();
      while (my $ips = $sth1->fetchrow_hashref()) {
        $n_ip = "$ips->{'inet_aton'}";
      };
      $sth1->finish();
      return $n_ip;
    };

    вот так в одном коммерческом продукте получают ip-адрес в виде int'а

    Mihard, 17 Сентября 2009

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

    +149.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function getOffset(elem) {
        if (elem.getBoundingClientRect) {
            // "правильный" вариант
            return getOffsetRect(elem)
        } else {
            // пусть работает хоть как-то
            return getOffsetSum(elem)
        }
    }

    code_master, 16 Сентября 2009

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