- 1
if(!($_POST[$_POST[parameter_value]])){$parameter_value=" ";}else{$parameter_value=$_POST[$_POST[parameter_value_cash]];}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+163
if(!($_POST[$_POST[parameter_value]])){$parameter_value=" ";}else{$parameter_value=$_POST[$_POST[parameter_value_cash]];}
+144
private static final BigDecimal $150 = BigDecimal.valueOf(150);
private static final BigDecimal $500 = BigDecimal.valueOf(500);
private static final BigDecimal $751 = BigDecimal.valueOf(751);
// rule example
all(
paymentOfType(COMPREHENSIVE, greaterOrEqual($500)),
noPaymentsButComprehensive
).mapTo(result(ACTIVITY_TYPE_ACC, COMPREHENSIVE_OVER_500))
Код мой. Есть таблица правил (в Excel), по которой нужно классифицировать некие объекты. Все правила собраны в одном классе и представляют из себя конструкции наподобие той, что в топике.
У меня с остальной частью команды возник конфликт по поводу наименования констант: все считают, что называть константы как $500 - сущее зло, а правильно называть MAX_AMOUNT_FOR_COMP_OVER_500. Я считаю, что $500 - это 500 долларов, блеать, а константа нужна только в одном месте и для читаемости. Мне по сути пофигу, как называется константа, интересно узнать ваше мнение.
наболело
+133
/// <summary>
/// Abs function
/// </summary>
private static object Abs(List<Expression> p)
{
return Math.Abs(p[0]);
}
/// <summary>
/// Acos function
/// </summary>
private static object Acos(List<Expression> p)
{
return Math.Acos(p[0]);
}
/// <summary>
/// Asin function
/// </summary>
private static object Asin(List<Expression> p)
{
return Math.Asin(p[0]);
}
/// <summary>
/// Atan function
/// </summary>
private static object Atan(List<Expression> p)
{
return Math.Atan(p[0]);
}
/// <summary>
/// Atan2 function
/// </summary>
private static object Atan2(List<Expression> p)
{
return Math.Atan2(p[0], p[1]);
}
Кусок кода от "Капитана Очевидность"
+146
public ActionResult RenderDesigner()
{
// Get the received text
var received = string.Empty;
using(var reader = new StreamReader(Request.InputStream))
{
received = reader.ReadToEnd();
}
// Possible texts received
var xml = "";
var id = "";
var moveId = "";
int distance = 0;
// Get all string from received
var keys = received.Split('&');
for (var i = 0; i < keys.Length; i++)
{
// XML
if(keys[i].StartsWith("xml="))
{
xml = Server.UrlDecode(keys[i].Split('=')[1]);
}
// ID
else if (keys[i].StartsWith("id="))
{
id = keys[i].Split('=')[1];
}
// Position
else if (keys[i].StartsWith("distance="))
{
distance = int.Parse(keys[i].Split('=')[1]);
}
// Move ID
else if (keys[i].StartsWith("moveId="))
{
moveId = keys[i].Split('=')[1];
}
}
}
разбор параметров POST запроса в стиле MVC
+146
aWidth = Math.min(Math.max(thisText*5+80, 150), 350);
aHeight = (thisText>610) ? 290 : (thisText>550) ? 270 : (thisText > 490) ? 250 : (thisText > 420) ? 230 : (thisText > 360) ? 210 : (thisText > 300) ? 190 : (thisText > 240) ? 170 : (thisText > 180) ? 150 : (thisText > 120) ? 130 : (thisText > 60)? 110 : 100;
обнаружил у себя в проекте, оказывается взяли тут http://www.daniweb.com/web-development/javascript-dhtml-ajax/threads/212610
+145
Math.min(Math.max(asd, 350), 350);
и почему размер всегда 350?
+83
URI uri = new URI("http://themoneyconverter.com/USD/rss.xml");
Document doc = db.parse(uri.toString());
Умей передавать строки правильно, падаван
−116
NSString *selectedDate2=appDelegate.date;
NSString *y=[selectedDate2 substringWithRange:NSMakeRange(0,4)];
NSString *m=[selectedDate2 substringWithRange:NSMakeRange(5,2)];
NSString *d=[selectedDate2 substringWithRange:NSMakeRange(8,2)];
NSString *selectedDate=[NSString stringWithFormat:@"%@-%@-%@",d,m,y];
NSLog(@"Selected Date is %@",selectedDate);
парсинг даты по-индусски
+122
Controller.cs
public ActionResult SomeAction()
{
return View("My message");
}
SomeAction.cshtml
@{
Layout = null;
}
@Html.Raw(string.Format("{0}", Model.ToString()))
Да, это ASP.Net MVC
+104
// старый "медленый" код, проверяем размеры по именам файлов (последний параметр):
if((checkFileLimits(_logTimeLimit,_logSizeLimit,_logStartTime,_traceFile1)>0) ||
(checkFileLimits(_logTimeLimit,_logSizeLimit,_logStartTime,_traceFile2)>0) ||
(checkFileLimits(_logTimeLimit,_logSizeLimit,_logStartTime,_traceFile3)>0) ||
(checkFileLimits(_logTimeLimit,_logSizeLimit,_logStartTime,_traceFile) >0) )
// новый "быстрый" код, проверяем размеры по файл хэндлам:
FILE* fp1 = fopen(_traceFile1, "r");
FILE* fp2 = fopen(_traceFile2, "r");
FILE* fp3 = fopen(_traceFile3, "r");
FILE* fp4 = fopen(_traceFile, "r");
if((checkFileLimitsHandle(_logTimeLimit,_logSizeLimit,_logStartTime,fp1)>0) ||
(checkFileLimitsHandle(_logTimeLimit,_logSizeLimit,_logStartTime,fp2)>0) ||
(checkFileLimitsHandle(_logTimeLimit,_logSizeLimit,_logStartTime,fp3)>0) ||
(checkFileLimitsHandle(_logTimeLimit,_logSizeLimit,_logStartTime,fp4) >0) )
setTraceFile(NULL);
fclose(fp1);
fclose(fp2);
fclose(fp3);
fclose(fp4);
наши бенчмаркеры чего-то там тестировали (на NFS!!!) и нашли что некоторые модули/библиотеки используют stat() вместо fstat()/ftell() для определения размера лог/трейс файлов (для ротации этих файлов). stat() берет как параметр не хэндл, а имя файла и поэтому дороже с точки зрения производительности. в особенности на NFS. ну начальник R&D и постановил: все stat()ы заменить на fstat()/ftell(). сказано - сделано. кусок сверху из модуля который пользуется внешней либой для логов и трейсов и у которого доступа к хэндлам нету. но герои не ищут легких путей: открываем файлы, получаем хэндлы, проверяем оптимальным образом размер файлов по хэндлам, закрываем файлы, гатова!