- 1
f g l = hylo l (.) (\n -> (g, n-1)) (==0)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+118
f g l = hylo l (.) (\n -> (g, n-1)) (==0)
Этот пример использует hylomorphism.
Композируем функцию типа (.) g(l) пока не наступит n==0
+150
var valid = !!files.length;
Fileupload (c)
+73
class MyException extends Exception {
/* конструкторы, геттеры-сеттеры и прочее-прочее */
public void handle() { /* over 9000 строк */ }
}
class MyClass {
public void myMethod() {
try { /* ... */ }
catch (MyException e) {
e.handle();
}
}
}
исключение, которое обрабатывает, можно сказать, само себя, бред?
+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 не считаются безопасными алгоритмами... но не настолько же...