- 1
const TWindow window(TWindowKindController::TWindowID WindowName, bool& isMainWindow=*(bool*)NULL)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+159
const TWindow window(TWindowKindController::TWindowID WindowName, bool& isMainWindow=*(bool*)NULL)
Крупный проЭкт.
Мне кажется или с isMainWindow что-то не чисто?
+159
function getLatin(str){
str = str.replace(/\?/g,'');
str = str.replace(/\:/g,'');
str = str.replace(/\;/g,'');
str = str.replace(/\|/g,'');
str = str.replace(/\</g,'');
str = str.replace(/\>/g,'');
str = str.replace(/\}/g,'');
str = str.replace(/\{/g,'');
str = str.replace(/\[/g,'');
str = str.replace(/\]/g,'');
str = str.replace(/\//g,'');
str = str.replace(/\\/g,'');
str = str.replace(/\+/g,'');
str = str.replace(/\-/g,'');
str = str.replace(/\=/g,'');
str = str.replace(/\~/g,'');
str = str.replace(/\#/g,'');
str = str.replace(/\@/g,'');
str = str.replace(/\$/g,'');
str = str.replace(/\^/g,'');
str = str.replace(/\&/g,'');
str = str.replace(/\*/g,'');
str = str.replace(/\(/g,'');
str = str.replace(/\)/g,'');
str = str.replace(/%/g,'');
str = str.replace(/\"/g,'');
str = str.replace(/\'/g,'');
str = str.replace(/,/g,'');
str = str.replace(/\./g,'');
str = str.replace(/!/g,'');
str = str.replace(/ /g,'_');
str = str.replace(/а/g,'a');
str = str.replace(/б/g,'b');
str = str.replace(/в/g,'v');
str = str.replace(/г/g,'g');
str = str.replace(/д/g,'d');
str = str.replace(/е/g,'e');
str = str.replace(/ё/g,'e');
str = str.replace(/ж/g,'zh');
str = str.replace(/з/g,'z');
str = str.replace(/и/g,'i');
str = str.replace(/й/g,'j');
str = str.replace(/к/g,'k');
str = str.replace(/л/g,'l');
str = str.replace(/м/g,'m');
str = str.replace(/н/g,'n');
str = str.replace(/о/g,'o');
str = str.replace(/п/g,'p');
str = str.replace(/р/g,'r');
str = str.replace(/с/g,'s');
str = str.replace(/т/g,'t');
str = str.replace(/у/g,'u');
str = str.replace(/ф/g,'f');
str = str.replace(/х/g,'h');
str = str.replace(/ц/g,'c');
str = str.replace(/ч/g,'ch');
str = str.replace(/ш/g,'sh');
str = str.replace(/щ/g,'sh');
str = str.replace(/ъ/g,'');
str = str.replace(/ы/g,'y');
str = str.replace(/ь/g,'');
str = str.replace(/э/g,'e');
str = str.replace(/ю/g,'yu');
str = str.replace(/я/g,'ya');
str = str.replace(/А/g,'a');
str = str.replace(/Б/g,'b');
str = str.replace(/В/g,'v');
str = str.replace(/Г/g,'g');
str = str.replace(/Д/g,'d');
str = str.replace(/Е/g,'e');
str = str.replace(/Ё/g,'e');
str = str.replace(/Ж/g,'zh');
str = str.replace(/З/g,'z');
str = str.replace(/И/g,'i');
str = str.replace(/Й/g,'j');
str = str.replace(/К/g,'k');
str = str.replace(/Л/g,'l');
str = str.replace(/М/g,'m');
str = str.replace(/Н/g,'n');
str = str.replace(/О/g,'o');
str = str.replace(/П/g,'p');
str = str.replace(/Р/g,'r');
str = str.replace(/С/g,'s');
str = str.replace(/Т/g,'t');
str = str.replace(/У/g,'u');
str = str.replace(/Ф/g,'f');
str = str.replace(/Х/g,'h');
str = str.replace(/Ц/g,'c');
str = str.replace(/Ч/g,'ch');
str = str.replace(/Ш/g,'sh');
str = str.replace(/Щ/g,'sh');
str = str.replace(/Ъ/g,'');
str = str.replace(/Ы/g,'y');
str = str.replace(/Ь/g,'');
str = str.replace(/Э/g,'e');
str = str.replace(/Ю/g,'yu');
str = str.replace(/Я/g,'ya');
И снова перед вами алфавит. Это код с реального сайта, http://ruskino29.ru/content/js/main.js.
+159
double KoDeData::toDouble(bool realValue)
{
return this->value(realValue).toInt();
}
Часа два искал почему вместо 1.7 выводится 2.
+159
define('ASC', 'ASC');
define('DESC', 'DESC');
*facepalm*
+159
...
</tr>
</tbody>
<? if($color == "#ffffff")
$color = "#ffffff";
else
$color = "#ffffff";
?>
</table>
Гений блин... Правда так и не понятно что хотелось этим сказать...
+159
<?
$a = array("second","third","first");
usort($a,"tes");
function tes($c, $d, $data){
if ($c == "third" && $d == "second") return -1;
if ($c == "third" && $d == "first") return -1;
if ($c == "first" && $d == "second") return 1;
if ($c == "second" && $d == "third") return 1;
if ($c == "first" && $d == "third") return 1;
if ($c==$d==$data) return 0;
}
print_r($a);
?>
В тестах задание, сортировать $a до вида ([1]=>"third",[2]=>"second",[3]=>"first").
Один из вариантов ответа(остальные ответы аналогичны, отличаются синтаксисом).
+159
// Конструктор
public function __construct($tablename,
$detal = "*",
$where,
$order = "",
$pnumber = 10,
$page_link = 3,
$parameters = "")
{
if (empty($detal)) $this->detal = '*'; else $this->detal = $detal;
parent::__construct($tablename,
$where,
$order,
$pnumber,
$page_link,
$parameters);
}
ооп
+159
<?php if (!($main_controller->params['id_type'] == 3
&& in_array($id_seo, array(70,76,92,78,121,163,165,278,164)))
&& $main_controller->params['id_cat']!=12 && $main_controller->params['id_cat']!=11
&& $main_controller->params['id_type'] != 6
&& !($id_type==5 && $id_elt==6
&& isset($main_controller->params['id_prep']))
&& $id_seo!=140 && !($main_controller->params['id_type'] == 1
&& ($id_elt==76 || ($id_elt>=82 && $id_elt<=90) || in_array($id_seo, array(241,244,245,268,286,287,288,289,237,285,283,284,324))
|| in_array($id_elt, array(12,100,101,14,18,19,20,13,93,24,25,26,27,28,29,30,31,32,33,34,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,60,61,62,63,64,104,91))))) { ?>
...
else if($main_controller->params['id_type'] == 1 && ($id_elt==76 || ($id_elt>=82 && $id_elt<=90)
|| in_array($id_elt, array(12,100,101,14,18,19,20,13,93,24,25,26,27,28,29,30,31,32,33,34,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,60,61,62,63,64,104,91))))
такие вот лаконичнинькие условия (было в одну строку - переносы сам сделал для читабельности))))
+159
exit;
break;
return false;
Вот так истинные индусы завершают выполнение скрипта. Чтоб уж наверняка.
Только die(); не хватает.
+159
void CXMLParser::Parse(std::map< std::pair<int, int>, int >& link)
{
_di_IXMLNode areaNode = MessageNode->ChildNodes->FindNode( WideString("area") );
if( areaNode )
{
Area.reset( new CAreaPart( areaNode ) );
IXMLNodeList* pointList = areaNode->ChildNodes;
if( pointList )
{
for(int pointIndex=0; pointIndex<pointList->GetCount(); pointIndex++)
{
_di_IXMLNode pointNode = pointList->Get( pointIndex );
int typePoint = -1;
if( pointNode->GetNodeName() == WideString("measuringpoint") )
typePoint = MEASURING;
if( pointNode->GetNodeName() == WideString("accountpoint") )
typePoint = ACCOUNT;
if( pointNode->GetNodeName() == WideString("deliverypoint") )
typePoint = DELIVERY;
switch( typePoint )
{
case MEASURING:
case ACCOUNT:
case DELIVERY:
{
const int pointCode = pointNode->GetAttribute( WideString("code") );
const String pointName = pointNode->GetAttribute( WideString("name") );
IXMLNodeList* channelList = pointNode->ChildNodes;
if( channelList )
{
for(int channelIndex=0; channelIndex<channelList->GetCount(); channelIndex++)
{
_di_IXMLNode channelNode = channelList->Get( channelIndex );
if( channelNode->GetNodeName() == WideString("measuringchannel") )
{
const int channelCode = channelNode->GetAttribute( WideString("code") );
const String channelDesc = channelNode->GetAttribute( WideString("desc") );
IXMLNodeList* periodList = channelNode->ChildNodes;
if( periodList )
{
for(int periodIndex=0; periodIndex<periodList->GetCount(); periodIndex++)
{
_di_IXMLNode periodNode = periodList->Get( periodIndex );
if( periodNode )
{
String str = periodNode->GetAttribute( WideString("start") );
periodNode->GetAttribute( WideString("end") );
TDateTime time;
time = TDateTime( StrToInt( str.SubString( 1, 2 ) ), StrToInt( str.SubString( 3, 2 ) ), 0, 0 );
periodNode->GetAttribute( WideString("summer") );
time = IncMinute( time, 30 );
_di_IXMLNode valueNode = periodNode->ChildNodes->FindNode( WideString("value") );
if( valueNode )
{
const int status = valueNode->GetAttribute( WideString("status") );
const int value = StrToInt( valueNode->Text );
if( RTDBWrite )
{
map< pair<int, int>, int >::iterator i = link.find( make_pair( pointCode, channelCode ) );
if( i!=link.end() )
{
(*RTDBWrite)( Date->DateInterval.first + time, (*i).second, value, status );
}
}
}
}
}
}
}
}
}
}
}
}
}
}
RTDBWrite->Flush();
}
Древний legacy-код на БорландЦэпэпэБыдлере, обнаруживаемый на текущей работе (почти госпредприятие), выглядит в основной своей массе примерно так. Новый код на C# чуть получше, но в целом тоже жуткое мракобесие.
Сил больше нет работать с подобным, увольняюсь и ищу норм работу.