- 1
- 2
- 3
- 4
- 5
// LockDepth IS enum type!
if(LockDepth == DepthType.Infinity)
_depthElement.InnerText = this.__lockDepth.ToString();
else
_depthElement.InnerText = (string) System.Enum.Parse(LockDepth.GetType(), LockDepth.ToString(), true);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+120
// LockDepth IS enum type!
if(LockDepth == DepthType.Infinity)
_depthElement.InnerText = this.__lockDepth.ToString();
else
_depthElement.InnerText = (string) System.Enum.Parse(LockDepth.GetType(), LockDepth.ToString(), true);
I got exception on line 5. The LockDepth is enum :)
+123
Рабочий стол > Контент > Структура сайта > Файлы и папки > bitrix > templates > .default > components > bitrix > sale.personal.order > main > bitrix > bitrix > sale.personal.order.detail > .default > lang > ru > template.php
Это чтобы в Битриксе поменять одну фитюльку.
+122
internal static class ExceptionHelper
{
public static void Throw()
{
Throw("Syntax error.");
}
public static void Throw(string msg)
{
new Exception(msg);
}
}
Просто и красиво! Архитектурное решение - архитектор жжет!
−119
private function pathfindingOfHell(begin:Point, to:Point, delPoint:Point):Boolean
{
var aop:Vector.<GameFigure> = new Vector.<GameFigure>();
aop.push(arr[begin.x][begin.y]);
var i:uint = 0;
while (i != count * 2 - 1)
{
for (var x_:int = -1;x_ < 2;x_++)
for (var y_:int = -1;y_ < 2;y_++)
{
if (x_ != 0 && y_ != 0)
{
var tP:Point = new Point(aop[aop.length - 1].x_pos + x_, aop[aop.length - 1].y_pos + y_);
var target:GameFigure = arr[tP.x][tP.y];
if (!target.isFreedom && !searchInArray(aop, target) && delPoint != tP)
{
aop.push(target);
if (target == arr[to.x][to.y])
{
aop = null;
return true;
}
}
}
}
i++;
}
aop = null;
return false;
}
+93
procedure _FinalizeArray(p: Pointer; typeInfo: Pointer; elemCount: Cardinal);
asm
CMP ECX, 0 { no array -> nop }
JE @@zerolength
PUSH EAX
PUSH EBX
PUSH ESI
PUSH EDI
MOV EBX,EAX
MOV ESI,EDX
MOV EDI,ECX
XOR EDX,EDX
MOV AL,[ESI]
MOV DL,[ESI+1]
CMP AL,tkLString
JE @@LString
CMP AL,tkWString
JE @@WString
CMP AL,tkVariant
JE @@Variant
CMP AL,tkArray
JE @@Array
CMP AL,tkRecord
JE @@Record
CMP AL,tkInterface
JE @@Interface
CMP AL,tkDynArray
JE @@DynArray
JMP @@error
@@LString:
CMP ECX,1
MOV EAX,EBX
JG @@LStringArray
CALL _LStrClr
JMP @@exit
@@LStringArray:
MOV EDX,ECX
CALL _LStrArrayClr
JMP @@exit
@@WString:
CMP ECX,1
MOV EAX,EBX
JG @@WStringArray
CALL _WStrClr
JMP @@exit
@@WStringArray:
MOV EDX,ECX
CALL _WStrArrayClr
JMP @@exit
@@Variant:
MOV EAX,EBX
ADD EBX,16
CALL _VarClr
DEC EDI
JG @@Variant
JMP @@exit
@@Array:
PUSH EBP
MOV EBP,EDX
@@ArrayLoop:
MOV EDX,[ESI+EBP+2+8]
MOV EAX,EBX
ADD EBX,[ESI+EBP+2]
MOV ECX,[ESI+EBP+2+4]
MOV EDX,[EDX]
CALL _FinalizeArray
DEC EDI
JG @@ArrayLoop
POP EBP
JMP @@exit
@@Record:
PUSH EBP
MOV EBP,EDX
@@RecordLoop:
{ inv: EDI = number of array elements to finalize }
MOV EAX,EBX
ADD EBX,[ESI+EBP+2]
Это так в дельфах автофинализация строк, длиннострок, вариантов, массивов, записей, интерфейсов, динмассивов реализована.
Вместо того, чтобы напрямую вызвать деструктор, там в рантайме (ПИЗДЕЦ, В РАНТАЙМЕ БЛЯТЬ!!!) проверяется тип поля, требующего финализацию и через три таких жопы наконец-то вызывается деструктор. И это, блять, я ещё создал свой TInterfacedObject, потому что иначе бы деструктор вызывался не через три жопы, а через четыре, и одна из них - системный вызов.
Да, это при включённой оптимизации всё, если чё.
+167
if (!$xhr)
{
//...
}
else
{
echo $goodUpload ? 'ok' : 'ne ok';
}
Ответ формы на AJAX-запрос
−121
SELECT DISTINCT
b.Id,
concat('<button type=""button"" onclick=""DeleteContact(', cast(b.Id as char), ')"">Delete...</button>') as lnkDelete
FROM tblContact b
WHERE ....
Вот так вот, оказывается, можно линк формировать....
+1002
BOOLEAN ConvertSizeToStr(__int64 size,TCHAR *buf,DWORD buf_size_c)
{
double dsize;
HRESULT hr;
dsize=(double)size;
if (size/1500000000000L>0)
{
dsize/=1099511627776L;
hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Тб"),dsize);
}
else if (size/1500000000L>0)
{
dsize/=1073741824L;
hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Гб"),dsize);
}
else if (size/1500000L>0)
{
dsize/=1048576L;
hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Мб"),dsize);
}
else if (size/1500>0)
{
dsize/=1024;
hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Кб"),dsize);
}
else
hr=StringCchPrintf(buf,buf_size_c,_T("%I64d байт"),size);
if (SUCCEEDED(hr))
return true;
else
return false;
}
Конвертировать байты в КБ/МБ/ГБ
+157
function &_static($name = null, $value = null, $unsetVal = false) {
static $data = array();
$null = null;
if (is_array($name)) {
$data = $name;
return $null;
}
$state = 0;
$args = array($name, $value, $unsetVal);
while (count($args)) {
$arg = array_shift($args);
switch ($state) {
case 0:
if ($arg === null) {
$state = 8;
}
elseif ($arg !== null) {
$state = 1;
}
else {
throw new \InvalidArgumentException();
}
break;
case 1:
if ($arg === null) {
$state = 5;
}
elseif ($arg !== null) {
$state = 2;
}
else {
throw new \InvalidArgumentException();
}
break;
case 2:
if ($arg === true) {
$data[$name] = $value; // $name, $value, true - overwrite saved value and return reference on it.
return $data[$name];
}
elseif ($arg === false) {
if (!array_key_exists($name, $data)) {
$data[$name] = $value;
}
return $data[$name]; // $name, $value, false - save value if not exist, return reference on stored value.
}
else {
throw new \InvalidArgumentException();
}
case 5:
if ($arg === false) {
if (!array_key_exists($name, $data)) {
$data[$name] = $value; // $name, null, false, - initialize var if not exist, return reference on stored value.
}
return $data[$name];
}
elseif ($arg === true) {
$data[$name] = $value; // $name, $value, true - overwrite saved value and return reference on it.
return $data[$name]; // $name, null, true - overwrite saved value and return reference on it.
}
else {
throw new \InvalidArgumentException();
}
break;
case 8:
if ($arg === null) {
continue;
}
if ($arg === true) {
$data = array(); // null, null, true - unset all
break 2;
}
elseif ($arg === false) {
return $data; // null, null, false - return all
}
else {
throw new \InvalidArgumentException();
}
default:
throw new \RuntimeException('Unknown state.');
}
}
return $null;
}
Как сделать глобальные переменные своими руками?
Как сделать ветвление когда под рукой не оказалось if, зато есть while и switch?
+177
"
<td><span>\".setDiskont2(\$data[price]*{$as_Quantity}, $current_site[Skidka], \$data[Discount]).\"</span></td>
<th></th>
</tr>
")."
".as_if($totalsum+=as_query("SELECT price FROM Data".$as_ObjectID." WHERE Data_ID=$as_ItemID","\$data[price]")*$as_Quantity*$as_Discount,"")."
")."
Оцените.
Этот кусок кода хранится в поле таблицы бд, в котором хранится кусок шаблона формы корзины интернет-магазина.
Функция на шестой строке выводит общую сумму заказа при eval.
У меня ушло более двух часов, чтобы розыскать логику внутри семикратной (! я не шучу) вложенности include_once, чтобы в итоге понять, что запрос который я искал хранится в самой бд, причем не просто храниться, а хранится внутри бд, внутри php который хранится внутри html... Сам Доминик Кобб позавидовал бы степени вложенности моих кошмаров %)