- 1
- 2
- 3
this.isWait && result.push(campLinkCid);
result.push(this.isWait ? camp.bid : campLinkCid);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+160
this.isWait && result.push(campLinkCid);
result.push(this.isWait ? camp.bid : campLinkCid);
Нужно больше логики.
+73
public static <T extends Comparable<T>> boolean isLessThan(T a, T b, double numericTolerance) {
if (a == null) {
return b != null;
}
boolean isLessThan = a.compareTo(b) < 0;
if (!isLessThan && a instanceof Number && b instanceof Number) {
isLessThan = ((Comparable) (((Number) a).doubleValue() - numericTolerance)).compareTo(((Number) b).doubleValue()) < 0;
}
return isLessThan;
}
Один из методов сравнения значений в пределах допустимой погрешности (последняя только для чисел).
Вроде бы и проще никак, но чувство говна не покидает. Советы по упрощению приветствуются.
−126
ТовМат = РегистрыСведений.ТоварнаяМартица;
ГруппаД = Справочники.КлассификацияABC.НайтиПоНаименованию("Д").Ссылка;
ТЗНомен = Запрос.Выполнить().Выгрузить();Ит=0;тСерт = Справочники.СертификатыСоответствия.ПустаяСсылка();
ТЗНомен.Сортировать("Производитель,Сертификат,Номенклатура");
тПроизвод="";
Для Каждого стр Из ТзНомен Цикл
Если Объект.ИсключитьТоварыГруппыД = Истина Тогда
Если стр.Номенклатура.КлассABC = ГруппаД Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Если стр.Номенклатура.ЭтоГруппа = Ложь Тогда
Если НаличиеВМатрице = истина Тогда
НаборД = ТовМат.СоздатьНаборЗаписей();
// устанавливаем параметры отбора по полному набору Измерений регистра:
НаборД.Отбор.нОменклатура.Установить(стр.Номенклатура.Ссылка);
НаборД.Прочитать();
Если НаборД.Количество() = 0 Тогда
Продолжить;
Конецесли;
КонецЕсли;
Бывший программист из нашей конторы отбирает строки таблицы с номенклатурой, по которой отсутствуют записи в регистре сведений, используя при этом другие "удивительные приемы программирования"... Ушел на повышение в саму 1С)))
−102
def booleanize(value):
"""Return value as a boolean."""
true_values = ("yes", "true", "1")
false_values = ("no", "false", "0")
if isinstance(value, bool):
return value
if value.lower() in true_values:
return True
elif value.lower() in false_values:
return False
В комментариях не нуждается.
+157
function detect_overlap(l1,l2,r1,r2,t1,t2,b1,b2) {
if (b1<t2) { return false; }
if (t1>b2) { return false; }
if (r1<l2) { return false; }
if (l1>r2) { return false; }
return true;
}
+149
(function(G, U) {
"use strict";
var $ = G.jQuery,
string = "string",
number = "number",
bool = "boolean",
object = "object";
function hasStr(obj, prop) {
return obj.hasOwnProperty(prop) && typeof obj[prop] === string;
}
function hasNum(obj, prop) {
return obj.hasOwnProperty(prop) && typeof obj[prop] === number;
}
function hasArr(obj, prop) {
return obj.hasOwnProperty(prop) && $.isArray(obj[prop]);
}
function hasFn(obj, prop) {
return obj.hasOwnProperty(prop) && $.isFunction(obj[prop]);
}
function hasBool(obj, prop) {
return obj.hasOwnProperty(prop) && typeof obj[prop] === bool;
}
function copyProps(source, target, fields) {
var i,
count,
fieldType,
fieldTypes = {
str : hasStr,
bool: hasBool,
arr : hasArr,
fn : hasFn,
num : hasNum
};
if (arguments.length < 2){
return;
}
if (arguments.length === 2){
target = {};
}
if ($.isPlainObject(source) && $.isPlainObject(target) && $.isPlainObject(fields)) {
for (fieldType in fieldTypes) {
if (fieldTypes.hasOwnProperty(fieldType)) {
if (hasArr(fields, fieldType)) {
for (i = 0, count = fields[fieldType].length; i < count; i += 1) {
if (fieldTypes[fieldType](source, fields[fieldType][i])) {
target[fields[fieldType][i]] = source[fields[fieldType][i]];
}
}
}
}
}
}
return target;
}
G.copyProps = copyProps; //Export into global namespace
}(this, undefined));
Здравствуйте! Написал функцию, которая безопасно копирует свойства из одного объекта в другой, выполняя проверку типа каждого копируемого поля. Скажите, какие недостатки и насколько оправдано её применение по сравнению со стандартной функцией jQuery extend()? Работает только с простыми объектами, для вложенных объектов нужно ещё раз вызывать эту функцию.
+158
$_SERVER["DOCUMENT_ROOT"] = dirname(dirname(dirname(dirname(dirname(dirname(__DIR__)))))) . '/htdocs';
+133
private CMSEntities entities = new CMSEntities();
private List<Object> ObjectSets { get; set; }
private List<Type> Types { get; set; }
public void GetFields()
{
Types = new List<Type>();
var entitiesType = entities.GetType();
var assembly = Assembly.Load("CMS.Data");
var types = assembly.GetTypes();
foreach (var type in assembly.GetTypes())
{
if (type.BaseType != null &&
type.BaseType.Name.Equals("EntityObject") &&
type.Name.IndexOf("aspnet",StringComparison.InvariantCultureIgnoreCase)<0 &&
type.Name != "sysdiagram")
{
Types.Add(type);
}
}
var properties = entitiesType.GetProperties();
ObjectSets = new List<Object>();
foreach (var propertyInfo in properties)
{
var obj = propertyInfo.GetValue(entities, null);
if(propertyInfo.PropertyType.IsGenericType && obj!=null) ObjectSets.Add(obj);
}
}
Рефлексия и Entity Framework
+155
$query = "SELECT DATE_FORMAT(`Date`, '%d.%m.%Y') 'dat',
DATE_FORMAT(`Date`, '%Y-%m-%d') 'd'
FROM Sklad
WHERE OrderID = '{$row->ID}'
AND OrderStatusID = 6
AND Kol < 0";
$qsklad_data = mysql_fetch_object(mysql_query($query));
if ($row->DateFakt == "00.00.0000") {
$query = "UPDATE Orders
SET DateFakt = '{$qsklad_data->d}'
WHERE ID = '{$row->ID}'";
$qupddd = mysql_query($query);
}
Паттерн программирования: сначала сделать запрос к БД, а потом проверить, нужны ли нам его результаты. $qsklad_data используется только здесь. И опять же два SQL-запроса там, где мог быть один.
−393
if ([post.postId integerValue]== 587072)
{
NSLog(@"ASDASD");
}
дебаг йопт