ДействиеСценарий / Говнокод #1861 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 t8apb, (Updated )

Комментарии (6) RSS

  • Да-да. На самом деле, я постю все это вместо бэкапа. Вдруг по-нормальному внезапно не заработает! %-.).
    Ответить
  • правильно чувак делает, чтоб зарплату подняли, или бобла дали, чтобы стало по быстрее работать!
    Ответить
  • Это тупой copy/paste, у автора во время написания ничего кроме ctrl-c/ctrl-v в голове не было.
    Ответить
  • Я, кажется, понимаю, о чём думал автор кода.
    Фаулер был не против такого подхода, когда это не понижало читабельность кода. Сперва пишется работающая модель, а потом с профайлером наперевес программист приступает к оптимизации, в данном случае путём введения локальной переменной с однократным вычислением.
    Но по-моему, в данном случае читабельность всё же хромает, по-сравнению с локальной переменной activeRoot
    Ответить
  • if(getActiveRoot()<0)
    неверная проверка. а если getActiveRoot() возвратит 0 (для первого элемента масива)...
    Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8