- 1
- 2
- 3
t = Min(::std::cref(x), ::std::cref(y));
//или в зависимости от ситуации
t = Min(::std::move(x), ::std::move(y));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+36
t = Min(::std::cref(x), ::std::cref(y));
//или в зависимости от ситуации
t = Min(::std::move(x), ::std::move(y));
Абстракционизм или Кубизм?
+153
// Когда-то давно:
// Функция генерирует CSV из массива
private function arrayToCSV($ar) {
$outstream = fopen("php://temp", 'r+');
fputcsv($outstream, $ar, ';', '"');
rewind($outstream);
$csv = fgets($outstream);
fclose($outstream);
return $csv . self::EOL;
}
// Несколько позже:
// Функция генерирует CSV из массива
private function arrayToCSV($ar) {
// а вот флаги вам в дыры, автор парсера со стороны 1С клал на RFC,
// поэтому будьте любезны отложить fputcsv и генерить ручками
$csv = '';
$isFirst = true;
str_replace(array(';', "\n", "\r\n"), array(':', '', ''), $ar);
foreach($ar as $field) {
if($isFirst)
$isFirst = false;
else
$csv .= ';';
$csv .= $field;
}
return $csv . self::EOL;
}
// Наши дни:
// Функция генерирует CSV из массива
private function arrayToCSV($ar) {
// упоротый, штоле? или с автором парсера в 1С переопылился?
return implode(';', str_replace(array(';', "\n", "\r\n"), array(':', '', ''), $ar)) . self::EOL;
}
наблюдаю в версионнике этапы становления говнокода
+124
static class FuncExtention
{
public static Func<T1, Func<T2, T3>> Carry<T1, T2, T3>(this Func<T1, T2, T3> func)
{
return t1 => t2 => func(t1, t2);
}
public static Func<T1, Func<T2, Func<T3, T4>>> Carry<T1, T2, T3, T4>(this Func<T1, T2, T3, T4> func)
{
return t1 => t2 => t3 => func(t1, t2, t3);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, T5>>>> Carry<T1, T2, T3, T4, T5>(this Func<T1, T2, T3, T4, T5> func)
{
return t1 => t2 => t3 => t4 => func(t1, t2, t3, t4);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, T6>>>>> Carry<T1, T2, T3, T4, T5, T6>(this Func<T1, T2, T3, T4, T5, T6> func)
{
return t1 => t2 => t3 => t4 => t5 => func(t1, t2, t3, t4, t5);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, T7>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7>(this Func<T1, T2, T3, T4, T5, T6, T7> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => func(t1, t2, t3, t4, t5, t6);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, Func<T7, T8>>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7, T8>(this Func<T1, T2, T3, T4, T5, T6, T7, T8> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => t7 => func(t1, t2, t3, t4, t5, t6, t7);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, Func<T7, Func<T8, T9>>>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7, T8, T9>(this Func<T1, T2, T3, T4, T5, T6, T7, T8, T9> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => t7 => t8 => func(t1, t2, t3, t4, t5, t6, t7, t8);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, Func<T7, Func<T8, Func<T9, T10>>>>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(this Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => t7 => t8 => t9 => func(t1, t2, t3, t4, t5, t6, t7, t8, t9);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, Func<T7, Func<T8, Func<T9, Func<T10, T11>>>>>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(this Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => t7 => t8 => t9 => t10 => func(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, Func<T7, Func<T8, Func<T9, Func<T10, Func<T11, T12>>>>>>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(this Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => t7 => t8 => t9 => t10 => t11 => func(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, Func<T7, Func<T8, Func<T9, Func<T10, Func<T11, Func<T12, T13>>>>>>>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(this Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => t7 => t8 => t9 => t10 => t11 => t12 => func(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, Func<T7, Func<T8, Func<T9, Func<T10, Func<T11, Func<T12, Func<T13, T14>>>>>>>>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(this Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => t7 => t8 => t9 => t10 => t11 => t12 => t13 => func(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, Func<T7, Func<T8, Func<T9, Func<T10, Func<T11, Func<T12, Func<T13, Func<T14, T15>>>>>>>>>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(this Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => t7 => t8 => t9 => t10 => t11 => t12 => t13 => t14 => func(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, Func<T7, Func<T8, Func<T9, Func<T10, Func<T11, Func<T12, Func<T13, Func<T14, Func<T15, T16>>>>>>>>>>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(this Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => t7 => t8 => t9 => t10 => t11 => t12 => t13 => t14 => t15 => func(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15);
}
public static Func<T1, Func<T2, Func<T3, Func<T4, Func<T5, Func<T6, Func<T7, Func<T8, Func<T9, Func<T10, Func<T11, Func<T12, Func<T13, Func<T14, Func<T15, Func<T16, T17>>>>>>>>>>>>>>>> Carry<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>(this Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> func)
{
return t1 => t2 => t3 => t4 => t5 => t6 => t7 => t8 => t9 => t10 => t11 => t12 => t13 => t14 => t15 => t16 => func(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16);
}
}
А что поделать то....
+15
static std::vector<std::string> listSubstring(std::string stringData, std::string separator)
{
std::vector<std::string> result;
std::size_t found = stringData.find(separator);
if (found==std::string::npos)
{
result.push_back(stringData);
return result;
}
result.push_back(stringData.substr(0,found));
std::vector<std::string> ko=listSubstring(found+separator.length(),separator);
for (std::vector<std::string>::iterator i = ko.begin(); i != ko.end(); ++i)
{result.push_back(*i);}
return result;
}
−104
Функция Дистанция(Откуда, Куда) Экспорт
Пи = 3.1415926535897932;
ОткудаШиротаВРадианах = Откуда.Широта * Пи / 180;
ОткудаДолготаВРадианах = Откуда.Долгота * Пи / 180;
КудаШиротаВРадианах = Куда.Широта * Пи / 180;
КудаДолготаВРадианах = Куда.Долгота * Пи / 180;
Аргумент = Sin(КудаШиротаВРадианах) * Sin(ОткудаШиротаВРадианах) +
Cos(КудаШиротаВРадианах) * Cos(ОткудаШиротаВРадианах) * Cos(КудаДолготаВРадианах - ОткудаДолготаВРадианах);
Аргумент = ?(Аргумент > 1, 1, Аргумент);
Аргумент = ?(Аргумент < -1, -1, Аргумент);
Возврат Окр(6378000 * ACos(Аргумент));
КонецФункции
+7
auto r = [&](){
for(auto i: a)
if(i==k)
return f(i);
}();
Однажды мне знакомый рассказывал, что во многих языках плохие грязные циклы. Мол настоящие чистые циклы должны возвращать значение. Я написал ему вот это. Он многозначительно подумал и замолчал. Через две с половиной недели он уволился.
+72
SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWITHMD5ANDTRIPLEDES");
PBEKeySpec spec = new PBEKeySpec(password, salt, 1024, 128);
SecretKey key = factory.generateSecret(spec);
hexdump(key.getEncoded());
http://ideone.com/bVElQG
Не, ну я все понимаю, PKCS #5 1.5 аля PBE, MD5 и DES не считаются безопасными алгоритмами... но не настолько же...
+139
byteL = (length & (0x00ff));
byteH = (length - byteL)>>BITS_IN_BYTE;
Вдруг биты справа полезут прямо из компьютера, давайте вычтем!
Макрос BITS_IN_BYTE особенно радует!
+166
function ghgh(){
var arr = document.getElementsByClassName("rend");
for (var i = 0; i < arr.length; i++){
if(arr[i] !== undefined){
var gfyuwegf = arr[i].getElementsByClassName("testblk");
for(var k = 0; k < gfyuwegf.length; k++){
// hjf
var klkl = gfyuwegf[k].innerHTML.split('/');
console.info(klkl);
if(klkl[0] == ""){
//console.info("! == 0");
if(klkl[1] === "0"){
arr[i].getElementsByClassName("customer")[0].innerHTML += klkl[3]+" "+klkl[4];
arr[i].getElementsByClassName("subdiler")[0].innerHTML += klkl[3]+" "+klkl[4];
arr[i].getElementsByClassName("diler")[0].innerHTML += klkl[3]+" "+klkl[4];
arr[i].getElementsByClassName("vip")[0].innerHTML += klkl[3]+" "+klkl[4];
} else if(klkl[1] === "1"){
arr[i].getElementsByClassName("customer")[0].innerHTML += klkl[3]+" "+klkl[4];
} else if(klkl[1] === "3"){
arr[i].getElementsByClassName("subdiler")[0].innerHTML = klkl[3]+" "+klkl[4];
} else if(klkl[1] === "4"){
arr[i].getElementsByClassName("diler")[0].innerHTML = klkl[3]+" "+klkl[4];
} else if(klkl[1] === "5"){
arr[i].getElementsByClassName("vip")[0].innerHTML = klkl[3]+" "+klkl[4];
}
}else{
if(klkl[1] === "0"){
//
arr[i].getElementsByClassName("customer")[0].getElementsByClassName("customer-"+klkl[0])[0].innerHTML += klkl[3]+" "+klkl[4];
arr[i].getElementsByClassName("subdiler")[0].getElementsByClassName("subdiler-"+klkl[0])[0].innerHTML += klkl[3]+" "+klkl[4];
arr[i].getElementsByClassName("diler")[0].getElementsByClassName("diler-"+klkl[0])[0].innerHTML += klkl[3]+" "+klkl[4];
arr[i].getElementsByClassName("vip")[0].getElementsByClassName("vip-"+klkl[0])[0].innerHTML += klkl[3]+" "+klkl[4];
}else if(klkl[1] === "1"){
arr[i].getElementsByClassName("customer")[0].getElementsByClassName("customer-"+klkl[0])[0].innerHTML = klkl[3]+" "+klkl[4];
}else if(klkl[1] === "3"){
arr[i].getElementsByClassName("subdiler")[0].getElementsByClassName("subdiler-"+klkl[0])[0].innerHTML = klkl[3]+" "+klkl[4];
}else if(klkl[1] === "4"){
arr[i].getElementsByClassName("diler")[0].getElementsByClassName("diler-"+klkl[0])[0].innerHTML = klkl[3]+" "+klkl[4];
}else if(klkl[1] === "5"){
arr[i].getElementsByClassName("vip")[0].getElementsByClassName("vip-"+klkl[0])[0].innerHTML = klkl[3]+" "+klkl[4];
}
}
}
}
}
};
ghgh();
Я минисериал придумал "Новый программист на старой работе".
Пожалуй название ghgh для этой функции самое то.
Код зафигачен прямо в html-шаблоне
В проекте подключен жеквери.
+11
void run(std::map<QString, QString> params,QTextStream &os) const
{
static int ko=0;
ko++;
//r->method_="GET";
srand(time(0));// без этого числа будут одинаковые
QString randomData="["+ (QString::number(ko))+" , "+ (QString::number(rand()%100))+ "]";
//int index= params["idChpu"].toInt();
std::list<QString> idsparams=getIdsDataRequest(params["dataRequestIds"]);
QString dataInIds="";
//for (auto idParam=idsparams.begin();idParam!=idsparams.end();idParam++)
for (const auto &idParam : idsparams)
{
qDebug()<<idParam;
auto kokoFunction=[](const std::function<QString()> & function){QString date; for(auto i=0 ;i<10;i++){date+= function()+QString(" , ");} ; return date;};
if (idParam==QString("id0"))
{dataInIds=dataInIds+QString("\"")+(idParam)+QString("\"")+QString(":[")+kokoFunction([](){return QString::number((ko++));})+QString::number((ko++))+QString("],");}
else
{dataInIds=dataInIds+QString("\"")+(idParam)+QString("\"")+QString(":[")+kokoFunction([](){return QString::number(rand()%100);})+QString::number(rand()%100)+QString("],");}
};
QString jsonData=QString("{")+
QString("\"idLastKey\":\"10\",")+dataInIds+QString("}");
qDebug()<<"TgetDataOnRequest run</h1>";
os << "HTTP/1.0 200 Ok\r\n"
"Content-Type: text/html; charset=\"windows-1251\"\r\n"
"\r\n"<<jsonData<<//randomData<<
"\n";
// << QDateTime::currentDateTime().toString() << connectionSettings.getUrl()<<"\r\n"<<connectionSettings.getViewRequest()<<"\n";
}
Надеюсь это временный код, но очень сомневаюсь.