- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
static string GetRequestParam(string request)
{
string result="";
int i = 4;
for(char c=request[i];c!=' ';c=request[++i])
result+=c;
return result;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+165
static string GetRequestParam(string request)
{
string result="";
int i = 4;
for(char c=request[i];c!=' ';c=request[++i])
result+=c;
return result;
}
+161
String^ TDebug::GetCurrentThreadFunctionName(int CallFunctionIndex)
{
return (gcnew StackTrace(true))->GetFrame(CallFunctionIndex)->GetMethod()->ToString();
};
void TDebug::ShowCurrentFunctionName(void)
{
Windows::Forms::MessageBox::Show(GetCurrentThreadFunctionName(2));
};
Помоему, в Microsoft Visual Studio 2010 отладчик для С++\CLI давно есть. :)
+116
namespace Containers
{
public class TBinaryWaitingQueue<TItem> where TItem : struct
{
private readonly TBinaryQueue<TItem> _queue;
TBinaryWaitingQueue(int amountOfitem)
{
_queue = new TBinaryQueue<TItem>(amountOfitem);
}
public void Enqueue(TItem[] items)
{
throw new NotImplementedException();
}
public void Enqueue(TItem[] items, int beginItem, int amountOfItem)
{
throw new NotImplementedException();
}
public void Dequeue(TItem[] items, int beginItem, int amountOfItem)
{
throw new NotImplementedException();
}
public TItem[] Dequeue(int amountOfItem)
{
throw new NotImplementedException();
}
}
}
Досталось в наследство от предков. Этому коду уже года 4.
+118
public class TWriteableForEach
{
public delegate void TForEachDelegate<TItem>(TItem item);
public static void Exec<TItem>(IList<TItem> itemsCollection, TForEachDelegate<TItem> forEachDelegate)
{
for (int i = 0; i < itemsCollection.Count(); ++i)
forEachDelegate(itemsCollection[i]);
}
} ;
Велосипед с квадратными колёсами?
+116
public class TObjects
{
public delegate T DeferredConstruction<out T>();
public static void Dispose<T>(ref T objectForDispose)
{
var typeOfObjectForDispose = typeof(T);
if (!typeOfObjectForDispose.IsClass)
DisposeIfIDisposable(ref objectForDispose, typeOfObjectForDispose);
else
if (!Equals(objectForDispose, null))
DisposeIfIDisposable(ref objectForDispose, typeOfObjectForDispose);
objectForDispose = default(T);
//objectForDispose = (T)(object)(null);
}
public static void Create<T>(ref T objectForCreate, DeferredConstruction<T> newObject)
{
Dispose(ref objectForCreate);
objectForCreate = newObject();
}
private static void DisposeIfIDisposable<T>(ref T objectForDispose, Type typeOfObjectForDispose)
{
bool canDisposable = (objectForDispose as IDisposable) != null;
if (canDisposable)
{
var dispose = typeOfObjectForDispose.GetMethod("Dispose");
dispose.Invoke(objectForDispose, new object[] { });
}
}
}
+162
<?php
$door[0]=$arResult["NAME"];
while($ob = $res->GetNextElement()){
$arFields = $ob->GetFields();
$door[]=$arFields["NAME"];
}
$door= array_unique($door);
$model = implode(",", $door);
$model_polotna = explode(",", $model);
$sz = sizeof($model_polotna);
for ($i=0; $i<=$sz; $i++){?>
<option id="<?echo $i;?>" value="<? echo $model_polotna[$i];?>"><?echo $model_polotna[$i];?></option>
<?}?>
Сайт на битриксе...
+128
public class TDebug
{
public static void Assert(bool condition)
{
System.Diagnostics.Debug.Assert(condition);
#if DEBUG
if(!condition)
throw new Exception();
#endif
}
}
+127
class TStopThreadWaiter
{
public static void Wait(Thread threadWaitededForStop)
{
var threadName = threadWaitededForStop.GetType().Name;
if (!threadWaitededForStop.Join(1000))
{
TErrorShower.ShowOnceIfAgree("Неудаёться остановить " + threadName + " поток. Будут предприняты попытки внештатной остановки.");
if (!threadWaitededForStop.Join(200))
threadWaitededForStop.Interrupt();
if (!threadWaitededForStop.Join(200))
{
TErrorShower.ShowOnceIfAgree(threadName + " поток не удалость остановить принудительно через Interrupt. Предпринимаю попытку принудительной остановки через Abort.");
threadWaitededForStop.Abort();
if (!threadWaitededForStop.Join(200))
{
TErrorShower.ShowOnceIfAgree(threadName + " поток не удалость остановить принудительно через Abort. Завершаем приложение.");
Application.Exit();
}
};
};
}
}
+263
:start
call lol
jmp start
:lol
push 9
ret
:test
...
Не очевидная альтернатива jmp test
+146
//Функция some_function возвращает данные в формате var1=val1&var2=val2
parse_str(some_function());
Мой код примерно полуторагодовой давности.
Разбирал старые проекты встретил и подумал - говно или имеет право на жизнь?
Классическое
//Функция some_function возвращает данные в формате val1:val2
list ($var1, $var2) = explode(':', some_function())
ведь будет работать медленнее, не так ли? :)