- 1
- 2
- 3
- 4
class GNUTranslations(NullTranslations):
# Magic number of .mo files
LE_MAGIC = 0x950412de
BE_MAGIC = 0xde120495
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−102
class GNUTranslations(NullTranslations):
# Magic number of .mo files
LE_MAGIC = 0x950412de
BE_MAGIC = 0xde120495
−413
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[TMSpinner hide];
if (self.registrationModel && !self.loggedIn && [[self.webView.request.URL absoluteString] length]) {
[self autologinTheWebView];
}
}
#pragma mark - Black magic
- (void)autologinTheWebView {
[self.webView stringByEvaluatingJavaScriptFromString:[self javascriptToInject]];
[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"autologin('%@', '%@');", self.registrationModel.email, self.registrationModel.password]];
self.loggedIn = YES;
}
- (NSString *)javascriptToInject {
return @"autologin = function(email, password) {"
@" var emailField = document.getElementById('user_email');"
@" var passwordField = document.getElementById('user_password');"
@" var submitButton = document.querySelector('input.btn.btn-default.btn-success');"
@" emailField.value = email;"
@" passwordField.value = password;"
@" submitButton.click();"
@"};";
}
js в obj-c. кому то после меня это поддерживать :)
+138
public List<string> AutoPublishProjectDepartmentNames { get; private set; }
public string AutoPublishProjectDepartments
{
get { return _projectDepartments; }
set
{
_projectDepartments = value;
AutoPublishProjectDepartmentNames.Clear();
var departments = _projectDepartments.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
//Get EPT Names
foreach (var department in departments)
{
try
{
if (department.Length == 36 || department.Length == 38)
{
var departmentUid = new Guid(department);
AutoPublishProjectDepartmentNames.Add(SqlInstance.GetDepartmentName(departmentUid));
continue;
}
}
catch (FormatException)
{
}
//Not a guid
AutoPublishProjectDepartmentNames.Add(department);
}
}
}
Очень хитрая пропертя, пока не засетишь одну пропертю - другая не будет работать. А еще она с гуидами работает. Ооочень хитрая. Юсфуль-туль.
+158
$q= mysql_query("select * from BillingParam where Name like ('% %')");
while($r=mysql_fetch_object($q)){
$name=str_replace(" ", " ", $r->Name);
$que="update BillingParam set Name='".$name."' where ID='".$r->ID."'";
echo $que."<br>";
$qq=mysql_query($que)or die(mysql_error());
Нужно больше, ещё больше запросов к базе!
+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()? Работает только с простыми объектами, для вложенных объектов нужно ещё раз вызывать эту функцию.