- 1
[UIColor colorWithRed:0.3046875f green:0.72265625f blue:0.7421875f alpha:YES];
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−404
[UIColor colorWithRed:0.3046875f green:0.72265625f blue:0.7421875f alpha:YES];
Долго подбирал цвета, наверно. Да, и alpha - это float, а не bool.
+83
initialization
//done this way so we can have a separate stack just for FPC under Unix systems
GStackClass :=
{$IFDEF USE_VCL_POSIX}
TIdStackVCLPosix
{$ELSE}
{$IFDEF UNIX}
{$IFDEF KYLIXCOMPAT}
TIdStackLibc
{$ENDIF}
{$IFDEF USE_BASEUNIX}
TIdStackUnix
{$ENDIF}
{$ENDIF}
{$IFDEF WINDOWS}
TIdStackWindows
{$ENDIF}
{$IFDEF DOTNET}
TIdStackDotNet
{$ENDIF}
{$ENDIF}
;
GStackCriticalSection := TIdCriticalSection.Create;
{$IFNDEF DOTNET}
{$IFDEF REGISTER_EXPECTED_MEMORY_LEAK}
IndyRegisterExpectedMemoryLeak(GStackCriticalSection);
{$ENDIF}
{$ENDIF}
finalization
// Dont Free. If shutdown is from another Init section, it can cause GPF when stack
// tries to access it. App will kill it off anyways, so just let it leak
{$IFDEF FREE_ON_FINAL}
FreeAndNil(GStackCriticalSection);
{$ENDIF}
end.
Выдержка из IdStack.pas. Без комментариев.
Предыcтория.
fastmm постоянно сообщал об утечках памяти в моих программах, использующих Indy: решил разобраться.
Оказалось, что ошибки возникали при использовании IdStack, по умолчанию этот модуль используют почти все компоненты из палитры.
+137
model.PID = row["PID"].ToString();
model.Rect = row["RECt"].ToString();
model.Pubt = row["PUBt"].ToString();
model.Ex = row["Ex"].ToString();
model.Prev_Vol = row["Prev_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Prev_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
model.Curr_Vol = row["Curr_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Curr_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
model.Mov_Vol = row["Mov_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Mov_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
decimal tonavgvol = Tools.ParseDecimalValue(row["Mov_Vol"].ToString());
decimal currentvol = Tools.ParseDecimalValue(row["Curr_Vol"].ToString());
if (row["Mov_Vol"].ToString() != "" && row["Curr_Vol"].ToString() != "" && tonavgvol != 0)
model.VolRat = (currentvol / tonavgvol).FormatAmount();
model.Open_Vol = row["Open_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Open_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
model.Close_Vol = row["Close_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Close_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
model.AllTicks = row["AllTicks"].ToString() != "" ? Tools.ParseDecimalValue(row["AllTicks"].ToString()).FormatAmountWithoutDecimal() : "";
model.ATR = row["ATR14"].ToString() != "" ? Tools.ParseDecimalValue(row["ATR14"].ToString()).FormatAmountFourDecimals() : "";
decimal open = Tools.ParseDecimalValue(row["Open"].ToString());
decimal close = Tools.ParseDecimalValue(row["Close"].ToString());
if (row["Open"].ToString() != "" && row["Close"].ToString() != "" && open != 0)
model.PrevDay = (((close - open) / open) * 100).FormatPercent();
model.PrevClose = row["PrevClose"].ToString() != "" ? Tools.ParseDecimalValue(row["PrevClose"].ToString()).FormatAmount() : "";
model.DayOpen = row["DayOpen"].ToString() != "" ? Tools.ParseDecimalValue(row["DayOpen"].ToString()).FormatAmount() : "";
decimal prevclose = Tools.ParseDecimalValue(row["PrevClose"].ToString());
decimal dayopen = Tools.ParseDecimalValue(row["DayOpen"].ToString());
if (row["DayOpen"].ToString() != "" && row["PrevClose"].ToString() != "" && prevclose != 0)
model.OpenGap = (((dayopen - prevclose) / prevclose) * 100).FormatPercent();
model.SPYLast = row["TONSPLast"].ToString() != "" ? Tools.ParseDecimalValue(row["TONSPLast"].ToString()).FormatAmount() : "";
model.TONOpen = row["TONOpen"].ToString() != "" ? Tools.ParseDecimalValue(row["TONOpen"].ToString()).FormatAmount() : "";
model.TONHigh = row["TONHigh"].ToString() != "" ? Tools.ParseDecimalValue(row["TONHigh"].ToString()).FormatAmount() : "";
model.TONLow = row["TONLow"].ToString() != "" ? Tools.ParseDecimalValue(row["TONLow"].ToString()).FormatAmount() : "";
model.TONLast = row["TONLast"].ToString() != "" ? Tools.ParseDecimalValue(row["TONLast"].ToString()).FormatAmount() : "";
model.EODHigh = row["EODHigh"].ToString() != "" ? Tools.ParseDecimalValue(row["EODHigh"].ToString()).FormatAmount() : "";
model.EODLow = row["EODLow"].ToString() != "" ? Tools.ParseDecimalValue(row["EODLow"].ToString()).FormatAmount() : "";
model.EODClose = row["EODClose"].ToString() != "" ? Tools.ParseDecimalValue(row["EODClose"].ToString()).FormatAmount() : "";
model.SPYClose = row["EODSPClose"].ToString() != "" ? Tools.ParseDecimalValue(row["EODSPClose"].ToString()).FormatAmount() : "";
model.PostVWAP = row["PostVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["PostVWAP"].ToString()).FormatAmount() : "";
model.PreVWAP = row["PreVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["PreVWAP"].ToString()).FormatAmount() : "";
model.MainVWAP = row["MainVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["MainVWAP"].ToString()).FormatAmount() : "";
model.AllVWAP = row["AllVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["AllVWAP"].ToString()).FormatAmount() : "";
model.EODVWAP = row["EODVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["EODVWAP"].ToString()).FormatAmount() : "";
decimal tonlast = Tools.ParseDecimalValue(row["TONLast"].ToString());
decimal eodhigh = Tools.ParseDecimalValue(row["EODHigh"].ToString());
decimal eodlow = Tools.ParseDecimalValue(row["EODLow"].ToString());
decimal tonhigh = Tools.ParseDecimalValue(row["TONHigh"].ToString());
decimal tonlow = Tools.ParseDecimalValue(row["TONLow"].ToString());
decimal eodclose = Tools.ParseDecimalValue(row["EODClose"].ToString());
decimal oedspclose = Tools.ParseDecimalValue(row["EODSPClose"].ToString());
decimal tonsplast = Tools.ParseDecimalValue(row["TONSPLast"].ToString());
// еще где-то 100-150 строчек в таком же духе
ADO.NET во все поля.
Бизнес-логика? Что это такое?
P.S. У класса model все свойства типа string, у всех decimal переменных потом тоже вызывается ToString().
+73
private static class Errors extends ArrayList<String> {
private static final long serialVersionUID = 1L;
}
private static class Notices extends ArrayList<String> {
private static final long serialVersionUID = 1L;
}
две большие разницы
+153
public function filters($collection)
{
$className = $collection->modelName();
$filters = null;
$config = $this->getConfig($className)->admin_panel;
if (!empty($config['filters'])) {
$filters = $config['filters'];
}
if (!$filters) {
return $collection->raw();
}
foreach ($filters as $field => $value) {
if (strpos($value, '||')) {
$or = explode('||', $value);
$where = "";
foreach ($or as $value) {
if (strpos($value, '::') !== false) {
$value = call_user_func(trim($value));
}
$where .= $field . '="' . $value . '" OR ';
}
$collection->where('(' . substr($where, 0, -4) . ')');
} else {
if (strpos($value, '::') !== false) {
$value = call_user_func(trim($value));
}
$collection->where($field, trim($value));
}
}
return $collectio->raw();
}
фильтруем коллекцию блять!
+154
var setIdToGridElements = function (gridId, gridConfig, idPrefix) {
var gridEl = Ext.get(gridId);
if (!gridEl) {
return;
}
var nodes = gridEl.dom.childNodes; // это массив всех элементов грида
var el;
for (var i = 0; i < nodes.length; i++) {
el = Ext.get(nodes[i].id);
if (el) {
var elements = el.dom.childNodes[i];
if (elements) {
var rowParameters = elements.children; // это массив всех елементов строки
for (var j = 0; j < rowParameters.length; j++) {
var parameterEl = rowParameters[j].childNodes;
var newId = gridEl.id + '-' + gridConfig[0][j].key[1].name.bindTo + '-' + i;
parameterEl[1].className = "gridValue";
for (var k = 0; k < parameterEl.length; k++) {
parameterEl[k].id = newId + '-' + parameterEl[k].className;
}
}
}
}
// Выбираем все строки - элементы грида с ненулевым Id
}
};
Авторские комментарии сохранены. Понимаю, что надо править и боюсь
+135
internal enum IsScanned
{
Create = 0,
Scan = 1,
Complete = 2,
Error = 3,
NoAccess = 4,
}
...
public int IsScanned { get; set; }
...
if (details.IsScanned != (int)IsScanned.Create)
+134
foreach (Admin _admin in _admins.Where(a => a.Login == _login))
{
if (_admin.Password == _password)
{
SessionObj = new Al2AllAuth
{
AccessId = _admin.Type,
Ename = _admin.Name,
Whoid = _admin.Id
};
var _type = (AdminTypes) _admin.Type;
switch (_type)
{
case AdminTypes.FirstType:
return RedirectToAction(c_adminActionName, c_userControllerName);
case AdminTypes.SecondType:
if (string.IsNullOrEmpty(model.Page) || string.IsNullOrEmpty(model.Uid))
throw new ArgumentException(InternalResources.EmptyPageOrUid, "model");
return RedirectToAction(model.Page, new { uid = model.Uid });
default:
break;
}
}
else
{
return RedirectToAction(_errorActionName);
}
}
Лямбда в foreach очен смутила... Зачем?
+163
$model = new $_POST['form_model'];
Краткость,
сестра таланта,
Yii,
FormController,
...
+140
http://yadi.sk/d/4HDnPUi2MCCRa
Мисато и говнокод.
Здесь мы видим пять прототипов WinMain'а подряд, а шестой, который чуть пониже, использует вывод типов сишкофичу int-по-умолчанию...
P.S. Скорее всего этот пост заминусуют за оффтоп и передачу по ссылке, но я просто не мог не выложить этот снимок ;)