- 1
- 2
- 3
- 4
- 5
- 6
- 7
private function fürDieLuLz(event:String, params:StringHash):void
{
if (ExternalInterface.available)
ExternalInterface.call(
"function(){window.fireEvent('" + event +
"',JSON.stringify(" + params + "));}");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 202
−241
private function fürDieLuLz(event:String, params:StringHash):void
{
if (ExternalInterface.available)
ExternalInterface.call(
"function(){window.fireEvent('" + event +
"',JSON.stringify(" + params + "));}");
}
Я долго пытался объяснить человеку пишущему JS часть проекта, что не нужно перекодировать объекты каждый раз из JSON и обратно при общении с Флешем, если они все равно проходят через eval(). Но у человека ЧСВ победил все. В итоге пришел "главный инженер" и "решил", что "если мы раньше так делали, то мы будем так делать и дальше, и не волнует". В итоге родился этот шедевр. Я сегодня с утра для поднятия настроения показал этот код JS кодеру. Долго объяснял, что он делает. После чего он сказал, что больше не будет со мной разговаривать :)
Я счастлив
−116
public class NeaveNetStream extends Sprite
Может не очень смешно, но жизненно. Понять почему / зачем NetStream может наследоваться от Sprite мне не удалось... (но его где-то добавляют в дисплей лист, просто так не переделать).
−105
var cam:Camera;
/*
TODO: camerName here is actually camerIndex - this is what view is sending back, it can send the name and in that case, we will need
to find the index by name
*/
Logger.getInstance().debug("startSetCamera: " + cameraName);
if(!cameraName || cameraName == "")
{
cam = getDefaultCamera();
}
else if(Camera.getCamera(cameraName))
{
cam = Camera.getCamera(cameraName);
}
else
{
cam = null; // А вдруг?!
}
Человек был просто мастером головоломок....
−105
private function handleBtnEvent(evt:MouseEvent):void
{
switch(evt.currentTarget)
{
case exitBtn:
break;
case nextBtn:
handleNextRounder();
break;
case reportBtn:
handleReport();
break;
case hangUpBtn:
case stopBtn:
if(evt.currentTarget == stopBtn && _randomRoundStarted ||
evt.currentTarget == hangUpBtn)
handleHangUp();
else
handleLeaveRandomRound();
break;
}
enableMouseInteraction(false);
TweenLite.delayedCall(1,enableMouseInteraction,[true]);
}
Еще одно чудо народного зодчества от предыдущих ваятелей :)
−117
private function formatCallResult(data : String) : URLVariables
{
try
{
var urlVariables : URLVariables = new URLVariables(data);
MonsterDebugger.trace(this,[urlVariables.msgdesc,urlVariables.msgbody]);
var pattern : RegExp = /\[s](.+)\[\/s\]/ig //*new RegExp("\\[s\\]([\\w\\s]+)\\[/s\\]", "ig");*/
var msgdescReady : String = urlVariables.msgdesc.replace(pattern, "<b>$1</b>");
var msgbodyReady : String = urlVariables.msgbody.replace(pattern, "<b>$1</b>");
var pattern2 : RegExp = /\[n](.+)\[\/n\]/ig;
//TODO Write nice regexp instead !
urlVariables.msgdesc = msgdescReady;
urlVariables.msgbody = msgbodyReady;
msgdescReady = urlVariables.msgdesc.replace(pattern2, "<b>$1</b>");
msgbodyReady = urlVariables.msgbody.replace(pattern2, "<b>$1</b>");
urlVariables.msgdesc = msgdescReady;
urlVariables.msgbody = msgbodyReady;
MonsterDebugger.trace(this,[urlVariables.msgdesc,urlVariables.msgbody]);
}
catch (e : Error)
{
}
return urlVariables;
}
Я уже минут 10 силюсь понять, что же оно должно было делать...
−122
while(ba.bytesAvailable)
{
try
{
var b:String = ba.readUTFBytes(1);
bas[bas.length - 1] += b;
}
catch(e:Error)
{
bas.push("");
}
}
Это тот же человек, который до этого XML из строк сам строил. Теперь ему нужно было прочитать несколько строк из потока, разделенныхе нуль-байтами.
−129
if (!(!roundActive && isRandom)) //random round ended - don't update view elements
{
Logger.getInstance().debug("VideoRoundView.roundStarted: changing view");
exitBtn.setRandomMode(roundActive && isRandom);
viewMode.connectionUpdated(roundActive);
}
Сначала мозговыносящая конструкция с отрицанием отрицания, а потом сам автор сдался... :)
−135
var messageFormatedForClientView:String = "<font color=\u0022#" + VRSettings.chatClientColor + "\u0022>" + messageFormated + "</font>";
Человек "нашел выход"...
−152
/**
* Returns UserData object of the user with specific clientId from the friend list.
* If there is no such clientId, throws an error.
* @return <B>com.gixoo.videoRound.data.users.UserData</B>
*/
public function getUserDataByClientID(clientId : String) : UserData
{
var result : UserData;
for (var i:uint; i < _people.length; i++)
{
if (_people[i].userServerData.clientId == clientId)
{
result = _people[i];
break;
}
}
if ( !result )
{
result = _people[i];
}
return result;
}
Тестирование показало, что ошибку эту никто не ловит... но зачем так сложно ее выбрасывать...
+174
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("D Index"); titleBar_setSubNav(false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false);}
Разбирал генератор документации, нашлось вот...